gevent
也是第三方库,自行调度协程,自动试别程序的耗时操作。比如读文件,等待时间。
代码举了个栗子
from gevent import monkey monkey.patch_all() import time import gevent def work1(): while True: print("executing work1......" , gevent.getcurrent()) time.sleep(0.5) def work2(): while True: print("executing work2......") time.sleep(0.5) if __name__ == '__main__': #指派任务,gevent.spawn(函数名,参数1,参数2,......) g1 = gevent.spawn(work1) g2 = gevent.spawn(work2) #join是让主程序等待协程执行完再退出 g1.join() g2.join()
结果
executing work1...... <Greenlet at 0x31d1900: work1>
executing work2......
executing work1...... <Greenlet at 0x31d1900: work1>
executing work2......
executing work1...... <Greenlet at 0x31d1900: work1>
.......
特别说明
如果没有加下面两行代码,默认情况下就不能识别time.sleep(0.5)耗时操作, 这时可以用gevent.time(0.5)来代替
from gevent import monkey
monkey.patch_all()
打补丁
在不修改程序代码的情况下,为程序增加新的功能,
标签:协程,gevnt,python,......,executing,gevent,time,work1,work2 From: https://www.cnblogs.com/baxianhua/p/17251577.html