gevent模块的使用

 2023-09-09 阅读 32 评论 0

摘要: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)# 或 g

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

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/31442.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息