用greenlet实现Python中的并发

在上一篇介绍生成器时,我们讲到了协程(Coroutine),它也被称为微线程。回顾一下,协程可以在一个函数执行过程中将其挂起,去执行另一个函数,并在必要时将之前的函数唤醒。在Python的语言环境里,协程是相当常用的实现“并发”的方法。上一篇的例子中,我们演示了如何使用yield关键字来实现协程,不过这个看上去非常不直观。这里我们要介绍一个非常好用的框架greenlet,很多知名的网络并发框架如eventlet,gevent都是基于它实现的。