python中g(shù)event庫的用法詳情
更新時間:2022年07月18日 09:38:16 作者:IT之一小佬
這篇文章主要介紹了python中g(shù)event庫的用法詳情,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)運行結(jié)果:

示例代碼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),
])運行結(jié)果:

到此這篇關(guān)于python中g(shù)event庫的用法詳情的文章就介紹到這了,更多相關(guān)python gevent庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python調(diào)用系統(tǒng)中應用程序的函數(shù)示例
這篇文章主要為大家介紹了python調(diào)用系統(tǒng)中應用程序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
Python實現(xiàn)批量將word轉(zhuǎn)換成pdf
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)批量將word文檔轉(zhuǎn)換成pdf文件,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下2023-08-08
Python如何實現(xiàn)動態(tài)數(shù)組
這篇文章主要介紹了Python如何實現(xiàn)動態(tài)數(shù)組,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11

