5
我有一個Python程序,需要大約10分鐘才能執行。所以我用Pool
從multiprocessing
加快速度:持久進程發佈Python池
from multiprocessing import Pool
p = Pool(processes = 6) # I have an 8 thread processor
results = p.map(function, argument_list) # distributes work over 6 processes!
它運行得更快,只是從。上帝保佑Python!所以我認爲這就是它。
但是我注意到,每次我這樣做時,即使p
超出範圍,進程及其相當大的狀態仍然存在;有效地,我創建了一個內存泄漏。這些進程在我的系統監視器應用程序中顯示爲Python進程,此時不使用CPU,但有相當大的內存來維持其狀態。
池具有功能close
,terminate
和join
,我假設其中的一個會殺死進程。有誰知道哪個是最好的方式告訴我的游泳池p
我完成了它?
非常感謝您的幫助!