gevent实现协程

gevent的好处:能够自动识别程序中的耗时操作,在耗时的时候自动切换到其他任务
 1 # gevent的好处:能够自动识别程序中的耗时操作,在耗时的时候自动切换到其他任务
 2 from gevent import monkey
 3 monkey.patch_all()
 4 
 5 import time
 6 import gevent
 7 # from greenlet import greenlet
 8 # greenlet可以实现一个自行调度的微线程
 9 def work1():
10     while True:
11         print("正在执行work1()")
12         # time.sleep(0.5)#模拟阻塞        默认情况下,time.sleep不能够被gevent识别为耗时操作,因此可以用gevent.sleep
13         # gevent.sleep(0.5)
14 #      但是就是想用time.sleep,需要进行下面操作
15 #         进行打补丁
16 #         1.导入monkey模块
17 #         2.破解  monkey.patch_all()
18         time.sleep(0.5)
19 
20 
21 def work2():
22     while True:
23         print("正在执行work2()")
24         time.sleep(0.5)
25         # gevent.sleep(0.5)
26 
27 if __name__ == '__main__':
28     # 创建gevent的对象    gevent.spawn(函数名,参数1,参数2.。。。)
29     g1= gevent.spawn(work1)
30     g2= gevent.spawn(work2)
31     # 让主线程等待协程执行完毕后再退出
32     g1.join()
33     g2.join()

猜你喜欢

转载自www.cnblogs.com/liuxjie/p/12002260.html