1.介绍

协程经过几年的发展,越来越多的高级语言内置了这样的特性,比如python3.4开始。因为其很好的对“异步回调”这种复杂难编写的异步编程方法进行了封装,可以按照符合“同步”的编程思维来编异步程序,大大方便了程序员的工作。

2.实现

一个线程可以理解成由多个协程组成。协程只属于用户态的范畴。其实现则是通过在用户态切换协程,协程有各自的堆栈信息来保存自己的状态。线程进程的切换都会涉及核心态,有更大的代价。通过协程之间异步的消息通信,可以实现协程,达到异步编程的目的。