日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

python中g(shù)event庫的用法詳情_python

作者:IT之一小佬 ? 更新時間: 2022-09-09 編程語言

前言:

  • 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, '李四')
    # 開啟任務(wù)
    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é)果:

原文鏈接:https://blog.csdn.net/weixin_44799217/article/details/125838994

欄目分類
最近更新