pythongreenlet如何交替运行
pythongreenlet如何交替运行
1、greenlet说明
greenlet是一个基于Greenlet实现的网络库,它使用greenlet来实现协同程序。其基本思想是,当greenlet遇到IO操作时,例如访问网络时,它会自动切换到其他greenlet,直到IO操作完成,然后在适当的时候切换回继续执行。因为IO操作非常耗时,而且常常使程序处于等待状态,所以使用gevent来自动切换协程,可以确保运行的是greenlet,而非等待IO操作。
2、实例
可以通过gevent.sleep()交出控制权:
deftest(n):
foriinrange(n):
print(gevent.getcurrent(),i)
gevent.sleep(1)
当然在实际的代码里,我们不会用gevent.sleep()去切换协程,而是在执行到IO操作时gevent会自动完成,所以gevent需要将Python自带的一些标准库的运行方式由阻塞式调用变为协作式运行。
以上就是pythongreenlet交替运行的方法,希望能对大家有所帮助,更多Python学习教程请关注IT培训机构:开发教育。
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)