多任务4---greenlet完成多任务

同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---

  

原文地址:https://www.cnblogs.com/yifengs/p/11395209.html