小編給大家分享一下python進程池中apply怎么使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
apply_async與apply區別:
l apply:添加任務后,等待進程函數執行完,
l apply_async:添加任務后,立即返回,支持回調;原型如下:
#callback為回調函數 pools.apply_async(func, args=(), kwds={}, callback=None, error_callback=None,)
直接看例子:
from multiprocessing import Pool import time import os def func(*args, **kwargs): # 定義進程函數 print('sub process id:', os.getpid()) time.sleep(1) if __name__ == "__main__": start = time.time() # 創建進程池,進程數為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怎么使用的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。