Parallel.For在Python中

Tho*_*isé 4 python windows parallel-processing

是否有类似于C#的优秀Parallel.For在Python中?我只是想做一个类似的计算

[simu(c) for c in clusterSizes]
Run Code Online (Sandbox Code Playgroud)

在平行下.存档的最简单方法是什么?

PS:我尝试过joblib,但在我的情况下,它只是启动,启动和启动进程,直到我必须重新启动我的机器.

rpl*_*lnt 7

在python 3中,concurrent.futures中有并行映射(在标准库中).我认为它甚至被反向移植为python 2.7的模块. 编辑 http://pypi.python.org/pypi/futures

正如其他答案所述,线程对你没有帮助.相反,你必须使用多个进程.

从文档编辑它看起来像这样简单:

with concurrent.futures.ProcessPoolExecutor() as executor:
    for result in executor.map(simu, clusterSizes)
        pass # save result
Run Code Online (Sandbox Code Playgroud)


Fre*_*Foo 5

joblib基于multiprocessing并且在Windows上具有相同的问题 @EwyynTomato在注释中指出:脚本的主要入口点必须受到__name__ == "__main__"检查的保护.

from joblib import Parallel, delayed

if __name__ == "__main__":
    result = Parallel(n_jobs=-1)(delayed(simu)(c) for c in clusterSizes)
    # process result
Run Code Online (Sandbox Code Playgroud)