我正在尝试使用下面给出的示例示例来理解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]
在我看来,您的代码似乎没有任何问题。您对Pool的使用对我来说似乎是正确的。