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()