新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python Pool常用函數(shù)有哪些
說(shuō)明

1、apply_async(func[,args[,kwds]):使用非堵塞調(diào)用func(并行執(zhí)行,堵塞方式必須等待上一個(gè)過(guò)程退出才能執(zhí)行下一個(gè)過(guò)程),args是傳輸給func的參數(shù)列表,kwds是傳輸給func的關(guān)鍵詞參數(shù)列表。
2、close():關(guān)閉POOL,使之不再接受新任務(wù)。
3、terminate():無(wú)論任務(wù)是否完成,都要立即終止。
4、join():主進(jìn)程堵塞,等待子進(jìn)程退出,必須在close或terminate之后使用。
實(shí)例
#coding: utf-8
import multiprocessing
import 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.")以上就是python Pool常用函數(shù)的介紹,希望對(duì)大家有所幫助。更多編程基礎(chǔ)知識(shí)學(xué)習(xí):python學(xué)習(xí)網(wǎng)
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
文章名稱:創(chuàng)新互聯(lián)Python教程:python Pool常用函數(shù)有哪些
分享URL:http://www.dlmjj.cn/article/dpjcppi.html


咨詢
建站咨詢
