国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python Pool常用函數(shù)用法總結(jié)

瀏覽:2日期:2022-06-22 09:27:21
1、說(shuō)明

apply_async(func[,args[,kwds]):使用非堵塞調(diào)用func(并行執(zhí)行,堵塞方式必須等待上一個(gè)過(guò)程退出才能執(zhí)行下一個(gè)過(guò)程),args是傳輸給func的參數(shù)列表,kwds是傳輸給func的關(guān)鍵詞參數(shù)列表。

close():關(guān)閉Pool,使之不再接受新任務(wù)。

terminate():無(wú)論任務(wù)是否完成,都要立即終止。

join():主進(jìn)程堵塞,等待子進(jìn)程退出,必須在close或terminate之后使用。

2、實(shí)例

#coding: utf-8import multiprocessingimport time def func(msg): print('msg:', msg) time.sleep(3) print('end') if __name__ == '__main__': cores = multiprocessing.cpu_count() pool = multiprocessing.Pool(processes=cores) print('Adding tasks...') for i in range(cores):msg = 'hello %d' %(i)pool.apply_async(func, (msg, )) #維持執(zhí)行的進(jìn)程總數(shù)為processes,當(dāng)一個(gè)進(jìn)程執(zhí)行完畢后會(huì)添加新的進(jìn)程進(jìn)去 print('Starting tasks...') pool.close() pool.join() #調(diào)用join之前,先調(diào)用close函數(shù),否則會(huì)出錯(cuò)。執(zhí)行完close后不會(huì)有新的進(jìn)程加入到pool,join函數(shù)等待所有子進(jìn)程結(jié)束 print('Sub-process(es) done.')

實(shí)例擴(kuò)展:

# -*- coding:utf-8 -*-from multiprocessing import Poolimport os, time, randomdef worker(msg): t_start = time.time() print('%s開(kāi)始執(zhí)行,進(jìn)程號(hào)為%d' % (msg,os.getpid())) # random.random()隨機(jī)生成0~1之間的浮點(diǎn)數(shù) time.sleep(random.random()*2) t_stop = time.time() print(msg,'執(zhí)行完畢,耗時(shí)%0.2f' % (t_stop-t_start))po = Pool(3) # 定義一個(gè)進(jìn)程池,最大進(jìn)程數(shù)3for i in range(0,10): # Pool().apply_async(要調(diào)用的目標(biāo),(傳遞給目標(biāo)的參數(shù)元祖,)) # 每次循環(huán)將會(huì)用空閑出來(lái)的子進(jìn)程去調(diào)用目標(biāo) po.apply_async(worker,(i,))print('----start----')po.close() # 關(guān)閉進(jìn)程池,關(guān)閉后po不再接收新的請(qǐng)求po.join() # 等待po中所有子進(jìn)程執(zhí)行完成,必須放在close語(yǔ)句之后print('-----end-----')

運(yùn)行結(jié)果

----start----0開(kāi)始執(zhí)行,進(jìn)程號(hào)為214661開(kāi)始執(zhí)行,進(jìn)程號(hào)為214682開(kāi)始執(zhí)行,進(jìn)程號(hào)為214670 執(zhí)行完畢,耗時(shí)1.013開(kāi)始執(zhí)行,進(jìn)程號(hào)為214662 執(zhí)行完畢,耗時(shí)1.244開(kāi)始執(zhí)行,進(jìn)程號(hào)為214673 執(zhí)行完畢,耗時(shí)0.565開(kāi)始執(zhí)行,進(jìn)程號(hào)為214661 執(zhí)行完畢,耗時(shí)1.686開(kāi)始執(zhí)行,進(jìn)程號(hào)為214684 執(zhí)行完畢,耗時(shí)0.677開(kāi)始執(zhí)行,進(jìn)程號(hào)為214675 執(zhí)行完畢,耗時(shí)0.838開(kāi)始執(zhí)行,進(jìn)程號(hào)為214666 執(zhí)行完畢,耗時(shí)0.759開(kāi)始執(zhí)行,進(jìn)程號(hào)為214687 執(zhí)行完畢,耗時(shí)1.038 執(zhí)行完畢,耗時(shí)1.059 執(zhí)行完畢,耗時(shí)1.69-----end-----

到此這篇關(guān)于python Pool常用函數(shù)用法總結(jié)的文章就介紹到這了,更多相關(guān)python Pool常用函數(shù)有哪些內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 瓦房店市| 加查县| 行唐县| 宕昌县| 淮北市| 义马市| 广西| 闵行区| 吴川市| 白河县| 无极县| 汝城县| 渝中区| 深圳市| 彭山县| 奉贤区| 黄冈市| 繁昌县| 邢台县| 西藏| 石渠县| 洪湖市| 石台县| 武功县| 平邑县| 宁强县| 郓城县| 栾川县| 明溪县| 江门市| 赣榆县| 阆中市| 即墨市| 博湖县| 洛浦县| 高清| 大化| 宣威市| 揭西县| 靖江市| 霍城县|