同yield一样 ,单线程,来回切换完成多任务,需要安装greenlet插件
pip install greenlet
代码:
1 from greenlet import greenlet 2 import time 3 4 5 def test1(): 6 while True: 7 print("---A---") 8 gr2.switch() 9 time.sleep(0.5) 10 11 def test2(): 12 while True: 13 print("---B---") 14 gr1.switch() 15 time.sleep(0.5) 16 17 18 gr1 = greenlet(test1) 19 gr2 = greenlet(test2) 20 21 # 切换到gr1中运行 22 gr1.switch()
结果:
---A--- ---B--- ---A--- ---B--- ---A--- ---B--- ---A--- ---B--- ---A--- ---B--- ---A---