1、概念
【关注公众号“轻松学编程”了解更多。
回复“协程”获取本文源代码。】
从计算机硬件角度:
计算机的核心是CPU,承担了所有的计算任务。
一个CPU,在一个时间切片里只能运行一个程序。

图1. 操作系统

1.1 进程
进程:是CPU对程序的一次执行过程、一次执行任务。各个进程有自己的内存空间、数据栈等。操作系统分配内存的基本单位(打开、执行、保存…)
1.2 线程
线程:是进程中执行运算的最小单位,是进程中的一个实体。(打开、执行、保存…)
一个程序至少有一个进程,一个进程至少有一个线程。
操作系统分配CPU的基本单位
1.3 协程
协程:比线程更小的执行单元,又称微线程,在单线程上执行多个任务,自带CPU上下文
用函数切换,开销极
本文详细讲解了Python中的进程、线程和协程的概念及其差异。通过实例展示了进程、线程和协程在执行过程中的行为,特别强调了协程在处理IO密集型任务时的优势。还探讨了线程安全、原子操作、并行并发、多进程多线程、GIL以及Python中的同步、异步、阻塞和非阻塞。并介绍了互斥锁、递归锁、升序锁等线程同步机制,以及在实际运用中如何避免死锁。最后提到了Python中yield和async/await关键字在实现协程中的作用。
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



