首页 > 代码库 > python基础学习日志day10-协程
python基础学习日志day10-协程
一:什么是协程
协程(Coroutine):协程是一种用户态的轻量级线程。协程拥有自己的寄存器上下文和栈。
协程调度切换时,将寄存器上下文和栈保存在其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈
因此:协程能保留上一次调用的时的状态,每次过程重入时,就相当于进入上一次调用的。
换种说法:进入上一次离开时所处逻辑流的位置。
二:协程的优点缺点
优点:
1)无需线程上下文切换的开销
2)无需原子操作锁定及同步的开销
3)方便切换控制流,简化编程模型
4)高并发+高扩展性+低成本:一个CPU支持上万的协程不是问题,很适合高并发
缺点:
1)无法利用多核资源:协程本质是单线程,他不能同时单个CPU的多个核用上,协程需要和进程配合
才能运行在多CPU上。
2)进行阻塞(Blocking)操作(如IO时)会阻塞整个程序
三:
python基础学习日志day10-协程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。