import multiprocessing as mul
def f(x):
return x**2
pool = mul.Pool(5)
rel = pool.map(f,[1,2,3,4,5,6,7,8,9,10])
print(rel)
当我运行上面的程序时,应用程序卡在一个循环中,无法停止。 我在 Windows 中使用 python 3.5,有什么问题吗?
这是我在屏幕上看到的:
我是财务数据分析的新手;我正试图找到一种方法来通过并行计算解决大数据问题。
最佳答案
它不起作用,因为您是在 shell 中键入命令;尝试将代码保存在文件中并直接运行。
不要忘记正确复制代码,您遗漏了一个非常重要的 if
语句(请参阅 documentation)。
将其保存到文件中,例如桌面上的 example.py
:
import multiprocessing as mul
def f(x):
return x**2
if __name__ == '__main__':
pool = mul.Pool(5)
rel = pool.map(f,[1,2,3,4,5,6,7,8,9,10])
print(rel)
然后,打开命令提示符并键入:
python %USERPROFILE%\Desktop\example.py
关于windows - 为什么 python 中的 pool.map 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36733680/