新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python進程池中apply怎么使用
小編給大家分享一下python進程池中apply怎么使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為東麗企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設,東麗網(wǎng)站改版等技術服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
apply_async與apply區(qū)別:
l apply:添加任務后,等待進程函數(shù)執(zhí)行完,
l apply_async:添加任務后,立即返回,支持回調(diào);原型如下:
#callback為回調(diào)函數(shù) pools.apply_async(func, args=(), kwds={}, callback=None, error_callback=None,)
直接看例子:
from multiprocessing import Pool import time import os def func(*args, **kwargs): # 定義進程函數(shù) print('sub process id:', os.getpid()) time.sleep(1) if __name__ == "__main__": start = time.time() # 創(chuàng)建進程池,進程數(shù)為4 pools = Pool(4) for i in range(5): # 添加任務 pools.apply_async(func) # 關閉進程池,不在添加任務 pools.close() pools.join() print("cost time:", int(time.time()-start))
結果:
sub process id: 15536 sub process id: 2788 sub process id: 20288 sub process id: 11020 sub process id: 15536 cost time: 2
以上是python進程池中apply怎么使用的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:python進程池中apply怎么使用
網(wǎng)頁URL:http://www.dlmjj.cn/article/jghcjs.html