0

我正在尝试使用下面给出的示例示例来理解 Python 的多处理模块,但到目前为止从未成功。我在 Spyder 中运行代码,它总是挂在那里,控制台中没有输出。我在一些文章中了解到多处理模块在 Spyder 控制台中不起作用,因此我创建了一个 exe 并在 cmd 中执行,但我的 VDI 崩溃并且无法连接数小时,直到多次尝试重新启动。我可以得到关于我应该做什么来运行下面的代码的建议吗?

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    p = Pool(5)
    print(p.map(f, [1, 2, 3]))
4

1 回答 1

0

我将您的代码复制粘贴到一个文件中,将其命名为 tmp.py,然后使用以下命令在控制台中运行它:

python3 tmp.py

我得到了以下正确的输出:

[1, 4, 9]

在我看来,您的代码没有任何问题。您对 Pool 的使用对我来说似乎是正确的。

于 2019-12-09T09:27:38.820 回答