亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python多進程執行方法apply_async使用說明

瀏覽:16日期:2022-06-26 11:35:56
apply_async簡介

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

apply_async使用簡明代碼

import multiprocessing#method為多次調用的方法def method(param): passif __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()使用總結:

apply_async是異步非阻塞式,不用等待當前進程執行完畢,隨時跟進操作系統調度來進行進程切換,即多個進程并行執行,提高程序的執行效率。

補充:記錄python multiprocessing Pool的map和apply_async方法

遇到的問題

在學習python多進程時,進程上運行的方法接收多個參數和多個結果時遇到了問題,現在經過學習在這里總結一下

Pool.map()多參數任務

在給map方法傳入帶多個參數的方法不能達到預期的效果,像下面這樣

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

所以只能通過對有多個參數的方法進行封裝,在進程中運行封裝后的方法如下

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

這樣就能達到傳遞多個參數的效果

ps:如果需要得到多個結果可以傳入多個元組在一個列表中

Pool.apply_async()輸出多個迭代結果

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

但是給apply_async()方法傳入多個值獲取多個迭代結果時就會報錯,因為該方法只能接收一個值,所以可以將該方法放入一個列表生成式中,如下

def job(x): return x * xif __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兩個方法

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 一级大黄美女免费播放 | 97干视频 | 亚洲国产系列久久精品99人人 | 中文字幕一区二区精品区 | 土耳其毛片 | 91麻豆网 | 一 级 黄 中国色 片 | 狠狠色噜噜狠狠狠狠2022 | 亚洲小视频在线观看 | 黄色a级免费| 亚洲欧美日韩国产色另类 | 亚洲欧美人成人让影院 | 91国高清视频 | 亚洲最新视频在线观看 | 国产亚洲精品久久久久久 | 网红主播vip福利视频 | 国产男女性特黄录像 | 黄色小视频免费观看 | 精品国产91久久久久久久a | 国产 日韩 在线 亚洲 字幕 中文 | 一区二区三区免费精品视频 | 成人夜色香网站在线观看 | 国产精品嫩草影院在线看 | 欧美日韩性生活视频 | 国产美女精品在线 | 精子网久久国产精品 | 亚洲第一二三四区 | 日韩伦理亚洲欧美在线一区 | 久久精品在这里 | 精品国产系列 | 国产精品1区 | 很黄很黄的毛片欧美 | 欧美精品亚洲精品日韩专区 | 特黄特色大片免费 | 亚洲综合第一区 | 欧美 亚洲 一区 | 丰满大乳乳液 | 欧美亚洲国产色综合 | 一级片在线 | 欧美黄色大全 | 国产特级毛片aaaaaaa高清 |