【发布时间】:2014-04-28 12:41:15
【问题描述】:
接下来的代码使用 5 个工作人员池为 50 个输入文件名并行执行“someprogram”。怎么可能用5个工人 这台计算机和另一台计算机上的 7 个,仅使用多处理等标准库。理想情况下,我会有一个列表元组(主机名,数量工作人员),它可以用来加速某些东西,也可以把它变成一个装饰器,这样它就可以更容易地在像“commandlinestuff”这样的方法上被重用。 (使用linux和python 2.7)
import multiprocessing
import subprocess
def commandlinestuff(inputfilename):
p = subprocess.Popen("someprogram "+inputfilename, shell=True)
p.wait()
inputfilenames = ["something"+str(i).zfill(2)+".in" for i in range(50)]
p = multiprocessing.pool(5)
p.map(commandlinestuff, inputfilenames)
【问题讨论】:
标签: python multiprocessing distributed-computing