我试图使用下面给出的示例示例来理解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]))
我将代码复制粘贴到一个文件中,将其命名为 tmp.py,并使用以下命令在控制台中运行它:
python3 tmp.py
我得到了以下正确的输出:
[1, 4, 9]
在我看来,您的代码没有任何问题。你对游泳池的使用对我来说似乎是正确的。