多進程如何獲取進程的返回值?用get函數,apply_async()

原帖由 項俊傑 於 2017-7-7 11:35 發表 
目前用的是跑兩個子進程,子進程的函數是無限循環,但是跑了半個小時發現其中一個子進程跑成zombie了,所以打算把子進程的函數設置成返回值的,然後在主進程裏判斷返回值  執行完了就 再重開。
但是看了下p.start()後 好像是 ...
建議用Pool來完成。代碼類似於:
複製內容到剪貼板
代碼:
from multiprocessing import Pool
p = Pool()
result = p.apply_async(foo, args=(a, ))
# foo和a分別是你的方法和參數,這行可以寫多個,執行多個進程,返回不同結果
p.close()
p.join()
最後用result.get()就得到結果了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章