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

1、apply_async(func[,args[,kwds]):使用非堵塞調(diào)用func(并行執(zhí)行,堵塞方式必須等待上一個過程退出才能執(zhí)行下一個過程),args是傳輸給func的參數(shù)列表,kwds是傳輸給func的關(guān)鍵詞參數(shù)列表。
2、close():關(guān)閉POOL,使之不再接受新任務(wù)。
3、terminate():無論任務(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)一個進(jìn)程執(zhí)行完畢后會添加新的進(jìn)程進(jìn)去
print("Starting tasks...")
pool.close()
pool.join() #調(diào)用join之前,先調(diào)用close函數(shù),否則會出錯。執(zhí)行完close后不會有新的進(jìn)程加入到pool,join函數(shù)等待所有子進(jìn)程結(jié)束
print("Sub-process(es) done.")以上就是python Pool常用函數(shù)的介紹,希望對大家有所幫助。更多編程基礎(chǔ)知識學(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ù)有哪些
網(wǎng)頁鏈接:http://m.5511xx.com/article/dpjcppi.html


咨詢
建站咨詢
