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