小编Man*_*kat的帖子

在python中使用"多处理"包的最佳实践

我正在尝试使用multiprocessing模块python.我有以下示例代码,它在ipython笔记本中没有任何错误地执行.但我发现在后台生成了额外的python进程,每次执行代码块都在笔记本中.

import multiprocessing as mp

def f(x):
    print "Hello World ", mp.current_process()
    return 1

pool = mp.Pool(3)

data = range(0,10)
pool.map(f, data)
Run Code Online (Sandbox Code Playgroud)

然而,当我将其保存在正常的.py文件中并执行时,我遇到错误并且必须终止终端以阻止程序执行.

我通过if __name__ == '__main__':在此下创建池并使用pool.close()关闭池来纠正此问题.

我使用的时候很好奇,想知道什么最佳实践之一应该遵循multiprocessing和相关的功能,例如map,apply,apply_async等?我计划使用这个模块并行读取文件,并希望将其应用于少数ML算法以加快过程.

python multiprocessing

12
推荐指数
2
解决办法
4297
查看次数

标签 统计

multiprocessing ×1

python ×1