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
我完成了它?
非常感谢您的帮助!