一、协程简介、引子
''' 协程:异步IO,队列,缓存 Nginx效率高就是用了异步IO 协程是一种用户态的轻量级线程。又称微线程,怎么理解呢?后面会说 CPU只认识线程,不会像线程一样吧上下文保存在CPU寄存器,协程是用户控制的。 协程能保留上一次调用时的状态,单线程下实现并发效果 协程的好处: 1、无需线程上下文切换的开销,用yield的时候,只是在函数之间来回切换 2、无需原子操作锁定及同步的开销,没有异步锁之类的东西,因为协程就是单线程 3、方便切换控制流,简化编程模型 4、高并发-高扩展-低成本,一个CPU支持上万个协程都不成问题 缺点: 1、由于是单线程的无法利用多核资源,协程本质上是单线程, 2、协程需要和进程配合才能运行在多CPU上, 3、协程阻塞时会阻塞整个程序 协程:异步IO,队列,缓存 Nginx效率高就是用了异