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

python多進(jìn)程執(zhí)行方法apply_async使用說明

 更新時(shí)間:2021年03月05日 09:52:46   作者:yyyyyyyyyyang  
這篇文章主要介紹了python多進(jìn)程執(zhí)行方法apply_async使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

apply_async簡介

python在同一個(gè)線程中多次執(zhí)行同一方法時(shí),該方法執(zhí)行耗時(shí)較長且每次執(zhí)行過程及結(jié)果互不影響,如果只在主進(jìn)程中執(zhí)行,效率會(huì)很低,因此使用multiprocessing.Pool(processes=n)及其apply_async()方法提高程序執(zhí)行的并行度從而提高程序的執(zhí)行效率,其中processes=n為程序并行執(zhí)行的進(jìn)程數(shù)。

apply_async使用簡明代碼

import multiprocessing
#method為多次調(diào)用的方法
def method(param):
 pass
if __name__ == '__main__':
 pool = multiprocessing.Pool(processes=5)
 params= ['param1', 'param2', 'param3', 'param4', 'param5']
 for param in params:
  pool.apply_async(method, args=(param, )) 
 pool.close()

使用總結(jié):

apply_async是異步非阻塞式,不用等待當(dāng)前進(jìn)程執(zhí)行完畢,隨時(shí)跟進(jìn)操作系統(tǒng)調(diào)度來進(jìn)行進(jìn)程切換,即多個(gè)進(jìn)程并行執(zhí)行,提高程序的執(zhí)行效率。

補(bǔ)充:記錄python multiprocessing Pool的map和apply_async方法

遇到的問題

在學(xué)習(xí)python多進(jìn)程時(shí),進(jìn)程上運(yùn)行的方法接收多個(gè)參數(shù)和多個(gè)結(jié)果時(shí)遇到了問題,現(xiàn)在經(jīng)過學(xué)習(xí)在這里總結(jié)一下

Pool.map()多參數(shù)任務(wù)

在給map方法傳入帶多個(gè)參數(shù)的方法不能達(dá)到預(yù)期的效果,像下面這樣

def job(x ,y):
 return x * y
if __name__ == "__main__":
 pool = multiprocessing.Pool()
 res = pool.map(job, 2, 3)
 print res

所以只能通過對有多個(gè)參數(shù)的方法進(jìn)行封裝,在進(jìn)程中運(yùn)行封裝后的方法如下

def job(x ,y):
 return x * y
def job1(z):
 return job(z[0], z[1])
if __name__ == "__main__":
 pool = multiprocessing.Pool()
 res = pool.map(job1, [(2, 3), (3, 4)])
 print res

這樣就能達(dá)到傳遞多個(gè)參數(shù)的效果

ps:如果需要得到多個(gè)結(jié)果可以傳入多個(gè)元組在一個(gè)列表中

Pool.apply_async()輸出多個(gè)迭代結(jié)果

在使用apply_async()方法接收多個(gè)參數(shù)的方法時(shí),在任務(wù)方法中正常定義多個(gè)參數(shù),參數(shù)以元組形式傳入即可

但是給apply_async()方法傳入多個(gè)值獲取多個(gè)迭代結(jié)果時(shí)就會(huì)報(bào)錯(cuò),因?yàn)樵摲椒ㄖ荒芙邮找粋€(gè)值,所以可以將該方法放入一個(gè)列表生成式中,如下

def job(x):
 return x * x
if __name__ == "__main__":
 pool multiprocessing.Pool()
 res = [pool.apply_async(target=job, (i,)) for i in range(3)]
 print [r.get() for r in res]

python 3中提供了starmap和startmap_async兩個(gè)方法

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • python?Sweetviz探索性數(shù)據(jù)可視化分析庫使用特征詳解

    python?Sweetviz探索性數(shù)據(jù)可視化分析庫使用特征詳解

    這篇文章主要為大家介紹了python?Sweetviz探索性數(shù)據(jù)可視化分析庫特征使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 利用Vscode進(jìn)行Python開發(fā)環(huán)境配置的步驟

    利用Vscode進(jìn)行Python開發(fā)環(huán)境配置的步驟

    這篇文章主要給大家介紹了關(guān)于如何利用Vscode進(jìn)行Python開發(fā)環(huán)境配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 基于matplotlib xticks用法詳解

    基于matplotlib xticks用法詳解

    這篇文章主要介紹了基于matplotlib xticks用法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python常見反爬蟲機(jī)制解決方案

    Python常見反爬蟲機(jī)制解決方案

    這篇文章主要介紹了Python常見反爬蟲機(jī)制解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Django異步任務(wù)線程池實(shí)現(xiàn)原理

    Django異步任務(wù)線程池實(shí)現(xiàn)原理

    這篇文章主要介紹了Django異步任務(wù)線程池實(shí)現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 基于Python制作簡單的音樂播放器

    基于Python制作簡單的音樂播放器

    這篇文章主要為大家詳細(xì)介紹了如何基于Python制作簡單的音樂播放器,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解下
    2024-02-02
  • 關(guān)于Python中*args和**kwargs的深入理解

    關(guān)于Python中*args和**kwargs的深入理解

    這篇文章主要給大家介紹了關(guān)于Python中*args和**kwargs的相關(guān)資料,*args和**kwargs代表的是變量, 變量前面的 *(星號)才是必須的,也可以寫成*v和**vs;寫成*args和**kwargs只是一個(gè)常用的書寫方式,需要的朋友可以參考下
    2021-08-08
  • 使用python繪制溫度變化雷達(dá)圖

    使用python繪制溫度變化雷達(dá)圖

    這篇文章主要為大家介紹了使用python繪制溫度變化雷達(dá)圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python圖像處理之Hough變換檢測直線

    Python圖像處理之Hough變換檢測直線

    霍夫變換是一種特征檢測(feature?extraction),被廣泛應(yīng)用在圖像分析,本文將利用Hough變換實(shí)現(xiàn)直線檢測,感興趣的小伙伴可以了解一下
    2023-07-07
  • python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中

    python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中

    這篇文章主要介紹了python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論