gevent模块的使用

mac2022-06-30  91

gevent模块

import gevent,time from gevent import monkey monkey.patch_all() def func1(): print(11111111) time.sleep(3) print(22222) def func2(): print(3333) time.sleep(4) print(4444) g1 = gevent.spawn(func1) g2 = gevent.spawn(func2) # time.sleep(6) # 或 g1.join() g2.join() print("我结束了")

导入monkey补丁

调用monkey.patch_all()

这个函数会自动捕获程序中的阻塞状态,

以便gevent模块来进行协程间的切换

gevent.spawn(func)

使用spawn函数,返回值是对象,并且将func设置为协程,并发执行

调用返回对象绑定方法

PS:在这步的时候,func已经执行了,

但是如果主线程代码结束了,这段线程也跟着结束了,无法执行, 所以,使用这个模块是要确报主线程还活着

对象.join()

阻塞住主线程,知道协程运行完毕

传送门

XMind: ZEN - Trial Version

转载于:https://www.cnblogs.com/marklijian/p/11576255.html

相关资源:详解python之协程gevent模块
最新回复(0)