0
我有一个使用Python的子进程模块运行的计算密集型文件的列表。这个想法是使用Popen
而不是像check_call
那样更快速地浏览列表。但是,当列表大于计算机的4或5个元素时,程序会分离所有计算机资源,使其无法使用,直至完成。我的问题是:是否有一种方便的方法来限制我的程序一次打开的进程数量?限制子进程一次运行的进程数.Popen
我使用的代码很简单,但是是一个较大程序的一部分,因此粘贴运行它所需的所有代码是不可能的。
def run_fast(self):
'''
self.cps_dct is a nested dictionary dct[index1][index2]=filename
CopasiSE is a program for simulating mathematical models using the terminal/cmd
'''
for i in self.cps_dct.keys():
for j in self.cps_dct[i]:
subprocess.Popen('CopasiSE {}'.format(self.cps_dct[i][j]))
return self.cps_dct
感谢
您是否在寻找'multiprocessing.Pool'? https://docs.python.org/2/library/multiprocessing.html –