协同程序

协同程序是可以挂起,恢复,并且有多个进入点的函数。

在Python中,协同程序的替代者是线程,它可以实现代码块之间的交互。

在PyPI的multitask模块实现了这:

安装multitask:
$ sudo easy_install multitask

使用:
>>> import multitask
>>> import time
>>> def coroutine_1():
...     for i in range(3):
...             print 'c1'
...             yield i
...
>>> def coroutine_2():
...     for i in range(3):
...             print 'c2'
...             yield i
...
>>> multitask.add(coroutine_1())
>>> multitask.add(coroutine_2())
>>> multitask.run()
c1
c2
c1
c2
c1
c2

你可能感兴趣的:(程序)