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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值