python中gevent庫的用法詳情
更新時間:2022年07月18日 09:38:16 作者:IT之一小佬
這篇文章主要介紹了python中gevent庫的用法詳情,Greenlet全部運行在主程序操作系統(tǒng)的過程中,但是它們是協(xié)作調(diào)度的,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值
前言:
- 1、gevent庫可以輕松實現(xiàn)并發(fā)同步或異步編程。gevent中使用的主要模式是Greenlet,它是以C擴展模塊的形式訪問Python的輕量級協(xié)程。
- 2、Greenlet全部運行在主程序操作系統(tǒng)的過程中,但是它們是協(xié)作調(diào)度的。
安裝gevent庫:
pip install gevent
示例代碼1:
from gevent import monkey # 為了能識別time模塊的io monkey.patch_all() # 必須放到被打補丁者的前面,如 time,socket 模塊之前 import gevent import time def gf(name): print(f'{name}:我想打王者??!') # gevent.sleep(2) time.sleep(2) print(f'{name}:我想吃大餐?。。?) def bf(name): print(f'{name}:一起打?。?!') # gevent.sleep(2) time.sleep(2) print(f'{name}:一快去吃?。?) if __name__ == "__main__": start = time.time() # 創(chuàng)建協(xié)程對象 g1 = gevent.spawn(gf, '張三') g2 = gevent.spawn(bf, '李四') # 開啟任務 g1.join() g2.join() end = time.time() print(end - start)
運行結果:
示例代碼2:
import gevent def foo(): print('Running in foo') gevent.sleep(2) print('Explicit context switch to foo again') def bar(): print('Explicit context to bar') gevent.sleep(2) print('Implicit context switch back to bar') gevent.joinall([ gevent.spawn(foo), gevent.spawn(bar), ])
運行結果:
到此這篇關于python中gevent庫的用法詳情的文章就介紹到這了,更多相關python gevent庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python調(diào)用系統(tǒng)中應用程序的函數(shù)示例
這篇文章主要為大家介紹了python調(diào)用系統(tǒng)中應用程序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Python如何實現(xiàn)動態(tài)數(shù)組
這篇文章主要介紹了Python如何實現(xiàn)動態(tài)數(shù)組,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11