greenlet
Greenlet是python的一个C扩展,提供可自行调度的协程
当一个greenlet遇到IO操作,如访问网络、文件操作时,就自动切换到其他greenlet,等IO操作完成,再在适当的时间切换回来继续执行
为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的更加简单
安装方式
使用如下命令安装greenlet模块:
pip3 install greenlet
使用
from greenlet import greenlet
import time
def ttest1():
while True:
print ("---A--")
gr2.switch() # 切换到另一个函数
time.sleep(0.5)
def ttest2():
while True:
print ("---B--")
gr1.switch() # 切换到另一个函数
time.sleep(0.5)
# 创建greenlet对象
gr1 = greenlet(ttest1)
gr2 = greenlet(ttest2)
## 起始执行的函数,切换到gr1中运行
gr1.switch()
运行结果:
---A--
---B--
---A--
---B--
---A--
---B--
......