进程和线程和协程之间的关系

Posted dawuge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程和线程和协程之间的关系相关的知识,希望对你有一定的参考价值。

进程
电脑的应用程序,都是进程,它有自己的地址空间
包括文本区域(text region)数据区域(data region)和堆栈(stack region)
文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
当程序处于IO阻塞的时候 程序会一起等。 三个状态 就绪、运行和阻塞
线程
独立运行的程序片段,通常在一个进程中可以包含若干个线程,一个进程中至少有一个主线程,线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。
协程
相当于微线程.一个线程执行
协程极高的执行效率。因为子程序function内切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显

以上是关于进程和线程和协程之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

[转帖]进程线程和协程之间的区别和联系

进程线程和协程的理解-自己随笔

浅谈进程线程和协程三者之间的区别和联系

线程 ,进程和协程

线程 ,进程和协程

Flask 之分析线程和协程