0
下面是測試代碼 - 我正在玩標準庫中找到的線程池。問題是最後的過程永遠不會結束。它只是掛起。Python線程池 - 進程永遠不會結束
我應該提到我在這裏之後,func取決於輸入可能需要幾秒鐘到幾分鐘,我希望他們儘快完成 - 無論先完成任何順序。理想情況下,我將執行的「func」數量將同時爲五個左右。
>>> from multiprocessing.pool import ThreadPool
>>>
>>> def func(i):
... import time
... if i % 2 == 0: time.sleep(5)
... print i
...
>>> t = ThreadPool(5)
>>>
>>> for i in range(10):
... z = t.Process(target=func, args=(i,))
... z.start()
...
1
3
5
7
9
>>> 0
2
4
6
8
換句話說,打印後「8」的代碼只是在這裏等待,直到我強迫一個KeyboardInterrupt。我已經嘗試將該過程設置爲守護進程,但沒有運氣。任何建議/更好的文檔?