欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python多任務之協(xié)程的使用詳解

 更新時間:2019年08月26日 17:13:40   作者:三國小夢  
這篇文章主要介紹了python多任務之協(xié)程的使用,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

1|0使用yield完成多任務

import time
def test1():
 while True:
  print("--1--")
  time.sleep(0.5)
  yield None
def test2():
 while True:
  print("--2--")
  time.sleep(0.5)
  yield None
if __name__ == "__main__":
  t1 = test1()
  t2 = test2()
  while True:
    next(t1)
    next(t2)

2|0使用greenlet完成多任務

如果沒有安裝,則pip install greenlet

from greenlet import greenlet
import time
def test1():
 while True:
  print("---A---")
  gr2.switch()
  time.sleep(0.5)
def test2():
 while True:
  print("---b---")
  gr1.switch()
  time.sleep(0.5)
gr1 = greenlet(test1)
gr2 = greenlet(test2)
gr1.switch()

3|0使用gevent完成多任務

首先使用pip install gevent進行安裝

gevent是對greenlet的再次封裝,使用起來更加簡便,當有耗時操作時會自動切換到其他協(xié)程。gevent封裝了常用的耗時操作,如thread、socket、time、multiprocessing等模塊。

import gevent
import time
from gevent import monkey
# 打補丁,不需要改原來的耗時操作,否則是要使用gevent提供的模塊
monkey.patch_all()
def f(n):
 for i in range(n):
  print(gevent.getcurrent(), i)
  # 使用gevent提供的耗時模塊
  # gevent.sleep(0.5)
  time.sleep(0.5)
g1 = gevent.spawn(f, 5)
g2 = gevent.spawn(f, 5)
g3 = gevent.spawn(f, 5)
# g1.join()
# g2.join()
# g3.join()
# 一次性添加全部的任務
gevent.joinall([g1,g2,g3])

總結

以上所述是小編給大家介紹的python多任務之協(xié)程的使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • Python將xml和xsl轉換為html的方法

    Python將xml和xsl轉換為html的方法

    這篇文章主要介紹了Python將xml和xsl轉換為html的方法,實例分析了使用libxml2模塊操作xml和xsl轉換為html的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 什么是Python包的循環(huán)導入

    什么是Python包的循環(huán)導入

    在本篇文章里小編給大家整理的是關于什么是Python包的循環(huán)導入的相關知識點,有興趣的朋友們可以參考下。
    2020-09-09
  • python查找指定具有相同內容文件的方法

    python查找指定具有相同內容文件的方法

    這篇文章主要介紹了python查找指定具有相同內容文件的方法,涉及Python針對文件操作的相關技巧,需要的朋友可以參考下
    2015-06-06
  • python?pandas處理excel表格數(shù)據(jù)的常用方法總結

    python?pandas處理excel表格數(shù)據(jù)的常用方法總結

    在計算機編程中,pandas是Python編程語言的用于數(shù)據(jù)操縱和分析的軟件庫,下面這篇文章主要給大家介紹了關于python?pandas處理excel表格數(shù)據(jù)的常用方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Python getsizeof()和getsize()區(qū)分詳解

    Python getsizeof()和getsize()區(qū)分詳解

    這篇文章主要介紹了Python getsizeof()和getsize()區(qū)分詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹

    Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹

    這篇文章主要介紹了Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹,本文用一個完整示例一步一步安裝了BeautifulSoup的安裝和使用過程,需要的朋友可以參考下
    2015-03-03
  • python模塊詳解之pywin32使用文檔(python操作windowsAPI)

    python模塊詳解之pywin32使用文檔(python操作windowsAPI)

    pywin32是一個第三方模塊庫,主要的作用是方便python開發(fā)者快速調用windows API的一個模塊庫,這篇文章主要給大家介紹了關于python模塊詳解之pywin32使用文檔的相關資料,文中將python操作windowsAPI介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • 零基礎學python應該從哪里入手

    零基礎學python應該從哪里入手

    在本篇文章里小編給大家分享的是一篇關于零基礎學python應該從哪里入手的相關基礎內容,需要的朋友們可以參考下。
    2020-08-08
  • Matplotlib自定義坐標軸刻度的實現(xiàn)示例

    Matplotlib自定義坐標軸刻度的實現(xiàn)示例

    這篇文章主要介紹了Matplotlib自定義坐標軸刻度的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Python異步處理返回進度——使用Flask實現(xiàn)進度條

    Python異步處理返回進度——使用Flask實現(xiàn)進度條

    這篇文章主要介紹了Python異步處理返回進度——使用Flask實現(xiàn)進度條,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論