协程:

协程不是计算机中提供的,而是由程序员人为创造出来的。

协程,也可以成为微线程,是一种用户态内的上下文切换技术,简而言之就是通过一个线程实现代码块相互切换执行。

实现协程的方法:

greenlet(早期模块)

yield关键字

asyncio装饰器(python3.4之后)

async,await(python3.5之后)[推荐]

协程的意义:

在一个线程中如果遇到IO等待时间,线程不会傻傻的等待,利用IO等待时间去做其他的事情(异步方式),如下例: