zoukankan      html  css  js  c++  java
  • 简述 进程、线程、协程的区别 以及应用场景--记录

     

    线程是指进程内的一个执行单元,
    # 进程
    进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。
    # 线程
    线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度
    # 协程和线程
    协程避免了无意义的调度,由此可以提高性能;但同时协程也失去了线程使用多CPU的能力
    
    进程与线程的区别
    (1)地址空间:线程是进程内的一个执行单位,进程内至少有一个线程,他们共享进程的地址空间,而进程有自己独立的地址空间
    (2)资源拥有:进程是资源分配和拥有的单位,同一个进程内线程共享进程的资源
    (3)线程是处理器调度的基本单位,但进程不是
    (4)二者均可并发执行
    (5)每个独立的线程有一个程序运行的入口
    
    协程与线程
    (1)一个线程可以有多个协程,一个进程也可以单独拥有多个协程,这样Python中则能使用多核CPU
    (2)线程进程都是同步机制,而协程是异步
    (3)协程能保留上一次调用时的状态
  • 相关阅读:
    自己搭建一个vue项目
    nodejs 后台开发入门
    bootstrap table入门例子
    datatable入门
    猜数字案例
    Cookie
    管理系统案例
    PHP操作数据库(以MySQL为例)
    数据库(以MySQL为例)
    案例:音乐列表
  • 原文地址:https://www.cnblogs.com/L-O-N/p/13674222.html
Copyright © 2011-2022 走看看