gevent模块的使用
Posted marklijian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gevent模块的使用相关的知识,希望对你有一定的参考价值。
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
以上是关于gevent模块的使用的主要内容,如果未能解决你的问题,请参考以下文章