标签:cpu greenlet 扩展 设计 缺点 安装源 覆盖 ado 好处
根据同步、异步设计 Worker。如果需要异步worker,需要安装 Eventlet 或 Gevent。
Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。
协程又称为微线程。英文名Coroutine,协程是一种用户态的轻量级线程。
协程的好处
无需线程上下文切换的开销
无需原子操作(不会被线程调度机制打断的操作)锁定以及同步的开销
方便切换控制流,简化编程模型
高并发+高扩展性+低成文:一个CPU支持上完的协程都不是问题,所以很适合高并发处理
协程的缺点
无法利用多核资源:协程的本质是单线程,需要和进程配合才能运行在多CPU上
进行阻塞(Blocking)操作(如IO时)会阻塞掉整个程序
协程的条件
必须在只有一个单线程里实现并发
修改共享数据不需加锁
用户程序里自己保存多个控制流的上下文栈
一个协程遇到IO操作自动切换到其它协程
标签:cpu greenlet 扩展 设计 缺点 安装源 覆盖 ado 好处
原文地址:https://www.cnblogs.com/daemonFlY/p/12797864.html