【发布时间】:2015-04-09 21:23:13
【问题描述】:
我正在寻找最聪明的方法,用相同的参数运行 10 次相同的函数并存储结果。
直接的解决方案是:
def f(a):
// do stuff
return a
results = []
same_argument = 10
for x in range(0,10):
results.append(f(same_argument))
这可行,但我相信如果这 10 个进程可以同时运行,则该进程将花费更少的时间。
The multi-process map function 似乎可以完成这项工作,但它只需要一个可迭代的参数。我可以将相同参数的 10 倍的列表传递给它,但感觉不对。
是否有其他内置方法可以处理我的问题?
【问题讨论】:
-
python3 可以使用生成器表达式
with Pool(10) as p:results = p.map(f, (same_argument for _ in range(10)))
标签: python multithreading concurrency multiprocessing