搜索
写经验 领红包
 > 设计

pytho中进程线程协程详细介绍(pytho中协程和线程的区别)

导语:python协程之一:程序、进程、线程、协程、同步、异步概念

前面详细讲了python的线程,详细可以点击【python线程之十:线程 threading 最终总结】

咱先了解一下一个程序大致是怎么组成的,再谈协程行不行。

多进程

程序:

一个程序,最少需要一个进程,一个线程组成如果没有手工创建多进程、多线程,操作系统默认给创建,叫做主进程、主线程一个程序,为了提高效率一般会创建多进程、多线程、协程

进程:

进程是程序的实体多CPU可以同时执行多个进程,并行执行

多线程:

多个线程协作完成的子程序线程由操作系统进行调度,需要进行上下文切换,CPU开销较大安全的协作,需要用锁或带锁功能的模块进行同步python 的线程因为有GIL锁的缘故,只能是并发,并发执行

协程:

多个函数或方法协作完成的子程序由程序员自己进行调度,有自己的上下文和栈,CPU开销极小本质是单线程下的子线程,无需锁同步一般用于 IO 的高并发处理

程序、进程、线程、协程

简单说一下同步和异步,没那么复杂。也无须举例说明,看图就能明白

同步:

串行执行,遇到IO等阻塞,等待,程序停止代码一个函数一个函数执行

异步:

交替执行,遇到IO等阻塞,不等待,程序可以去执行其他操作代码可以一个函数未执行完,等待时去执行其他函数

同步、异步

本文内容由小舻整理编辑!