带有标签 协程 的文章

我们都知道在函数体内使用yield关键字将会使函数返回一个生成器对象,在英文字典中,yield不仅有“生产”(produce)的意思,还有“屈服,让步”(give way)的意思,因此python最开始也使用了生成器的关键字yield来处理协程(coroutine)。但是不同的是,协程中yield关键字通常出现于表达式的右侧,例如received = yield value;协程不仅可以生成数据(或者不生成数据),也可以接收数据。理解协程中的yield,要把yield看做是用来执行控制流的,而不是生成数据的。

python协程的历史

python协程最早的实现是在python2.5中,自此可以在表达式中使用yield关键字了,同时为生成器实现了.send(value)方法用于向yield表达式传递数据,.throw()方法用于抛出异常,.close()方法用于终结。具体描述在PEP 342中。

...

查看全文