首页 > 其他 > 详细

并发编程-协程-21协程并发-gevent模块

时间:2019-09-21 15:46:21      阅读:98      评论:0      收藏:0      [点我收藏+]

一丶Gevent的作用

让协程实现检测IO,实现并发

二丶Gevent代码实现

from gevent import monkey;monkey.patch_all()  # 由于该模块经常被使用 所以建议写成一行
from gevent import spawn
import time

def heng():
    print("哼")
    time.sleep(2)
    print('哼')

def ha():
    print('哈')
    time.sleep(3)
    print('哈')

def heiheihei():
    print('嘿嘿嘿')
    time.sleep(5)
    print('嘿嘿嘿')

start = time.time()
g1 = spawn(heng)
g2 = spawn(ha)  # spawn会检测所有的任务
g3 = spawn(heiheihei)
g1.join()
g2.join()
g3.join()
# heng()
# ha()
print(time.time() - start)

spawn方法会创建能检测io并实现并发任务的协程对象

当遇到ip组测未完成会切换其他的协程继续

最终时间会在最长的协程所需时间结果多一点些,这一些指的是io切换消耗的时间

并发编程-协程-21协程并发-gevent模块

原文:https://www.cnblogs.com/suren-apan/p/11561976.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!