并发编程-协程-21协程并发-gevent模块
一丶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切换消耗的时间