pythn面试总结2-进程,线程,协程之间的区别

进程,线程,协程的概念

1.进程

是计算机中的程序关于某数据集合上的一次运行活动,进程是操作系统分配资源和调度的基本单位,进程间有各自独立的空间,且进程中通过信号进行通讯,主要的通信方式为管道,有名管道,消息队列,信号量等。

2.线程

线程有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元,是cpu调度的基本单位,线程自己不拥有系统资源,但线程间共享进程的内存,不独立占有内存,线程间的通信方式是临界区,信号量,互斥量,事件

3.协程

协程与子例程一样,协程(coroutine)也是一种程序组件,它是线程内部一种更加微小的线程。

进程,线程,协程之间的区别。

1.进程与线程

1.地址空间:线程间共享同一进程的地址空间,而进程间的地址空间是相对独立的。
2.资源:线程间共享同一进程的所有资源,而进程间的资源是相对独立的。
3.关系:一个进程可以创建多个线程,但线程不能创建进程。
4.资源消耗:进程要比线程更加消耗资源。
5.一个进程的某个线程挂掉i将导致整个进程挂掉,而进程间不会相互影响。
6.线程不能脱离进程独立执行

2.线程与协程的区别

1.一个线程可以拥有多个协程
2.线程执行机制是同步,协程执行机制是异步
3.线程切换是抢占式的,而协程切换需要用户自己控制,所以它是非抢占式的,需要用户自己释放使用权来切换协程。
4.协程切换消耗的资源比线程小。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容