协同程序是可以挂起,恢复,并且有多个进入点的函数。
在Python中,协同程序的替代者是线程,它可以实现代码块之间的交互。
在PyPI的multitask模块实现了这:
安装multitask:
使用:
在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