首页 > 代码库 > Python3-gevent模块-单线程下的"并发"-协程
Python3-gevent模块-单线程下的"并发"-协程
博客转载
http://www.cnblogs.com/alex3714/articles/5248247.html
http://www.cnblogs.com/tkqasn/p/5705338.html
代码示例
import greenlet def func1(): print(1) gr2.switch() print(1) gr2.switch() def func2(): print(2) gr3.switch() print(2) gr3.switch() def func3(): print(3) gr1.switch() print(3) gr1.switch() # greenlet可以实现函数间的任意中断切换执行 gr1 = greenlet.greenlet(func1) gr2 = greenlet.greenlet(func2) gr3 = greenlet.greenlet(func3) gr1.switch()
import gevent def func1(): print(1) gevent.sleep() print(1) def func2(): print(2) gevent.sleep(1) print(2) def func3(): print(3) gevent.sleep() print(3) # gevent封装了greenlet,可以通过sleep()交出控制权,实现协程 gevent.joinall([ gevent.spawn(func1), gevent.spawn(func2), gevent.spawn(func3) ])
Python3-gevent模块-单线程下的"并发"-协程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。