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培訓機構:千鋒教育。