简单的多处理池挂在 Jupyter 笔记本中

ahu*_*ura 9 python multiprocessing python-multiprocessing jupyter-notebook

我正在尝试使用 python 版本 3.7.0 在 Jupyter 笔记本中运行一些多重处理。然而,即使是一个非常简单的例子似乎也会无限期地挂起。阅读此答案后,我尝试在池上显式调用 .close 和 .join,但它仍然挂起。示例代码如下,谁能告诉我出了什么问题?

import multiprocessing as mp

def fun(x):
    return 2*x

with mp.Pool() as pool:
    args = list(range(10))
    res = pool.map(fun, args)
    pool.close()
    pool.join()
Run Code Online (Sandbox Code Playgroud)

Rai*_*sin 6

另一个解决方案是使用该multiprocess模块,该模块与使用 Jupyter 时的多处理库相同。


小智 0

对我来说,它适用于@Booboo 提出的解决方案。

  • 将您的函数写入外部文件中
  • 将其导入到您的 .ipynb 文件中