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培训机构:千锋教育。