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)運行結(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é)果:

到此這篇關于python中gevent庫的用法詳情的文章就介紹到這了,更多相關python gevent庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows環(huán)境下如何使用Pycharm運行sh文件
這篇文章主要介紹了Windows環(huán)境下如何使用Pycharm運行sh文件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02
Django序列化中SerializerMethodField的使用詳解
這篇文章主要介紹了Django序列化中SerializerMethodField的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
Python jieba 中文分詞與詞頻統(tǒng)計的操作
這篇文章主要介紹了Python jieba 中文分詞與詞頻統(tǒng)計的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python使用Matplotlib繪制散點趨勢線的代碼詳解
Matplotlib是一個用于數(shù)據(jù)可視化的強大Python庫,其基本功能之一是創(chuàng)建帶有趨勢線的散點圖,散點圖對于可視化變量之間的關系非常有用,本文將指導您使用Matplotlib繪制散點趨勢線的過程,涵蓋線性和多項式趨勢線,需要的朋友可以參考下2025-01-01

