![](/img/trans.png)
[英]Write to csv with Python Multiprocessing apply_async causes missing of data
[英]Python multiprocessing apply_async: what am I missing?
我試圖了解多處理庫的apply_async函數是如何工作的,但我一直在摸索。 我錯過了什么?
from multiprocessing import Pool
import time
import threading
def test():
time.sleep(15)
print "test"
def test_launcher():
pool = Pool(processes=1)
result = pool.apply_async(test)
def printit():
threading.Timer(5.0, printit).start()
print time.strftime("%H:%M:%S", time.gmtime())
if __name__ == '__main__':
print "Before"
test_launcher()
print "After"
printit()
我不想等待test()的返回,我想繼續並在完成時從test()獲取打印信息。
經過2或3次打印后,是否應該打印“測試”?
如果希望主進程等待子進程,請添加:
pool.close()
pool.join()
最后一個打印語句之后。 否則,主流程將在子流程完成之前終止
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.