> 设计
pytho中进程线程协程详细介绍(pytho中协程和线程的区别)
导语:python协程之一:程序、进程、线程、协程、同步、异步概念
前面详细讲了python的线程,详细可以点击【python线程之十:线程 threading 最终总结】
咱先了解一下一个程序大致是怎么组成的,再谈协程行不行。
多进程
程序:
一个程序,最少需要一个进程,一个线程组成如果没有手工创建多进程、多线程,操作系统默认给创建,叫做主进程、主线程一个程序,为了提高效率一般会创建多进程、多线程、协程进程:
进程是程序的实体多CPU可以同时执行多个进程,并行执行多线程:
多个线程协作完成的子程序线程由操作系统进行调度,需要进行上下文切换,CPU开销较大安全的协作,需要用锁或带锁功能的模块进行同步python 的线程因为有GIL锁的缘故,只能是并发,并发执行协程:
多个函数或方法协作完成的子程序由程序员自己进行调度,有自己的上下文和栈,CPU开销极小本质是单线程下的子线程,无需锁同步一般用于 IO 的高并发处理程序、进程、线程、协程
简单说一下同步和异步,没那么复杂。也无须举例说明,看图就能明白
同步:
串行执行,遇到IO等阻塞,等待,程序停止代码一个函数一个函数执行异步:
交替执行,遇到IO等阻塞,不等待,程序可以去执行其他操作代码可以一个函数未执行完,等待时去执行其他函数同步、异步
本文内容由小舻整理编辑!