为什么python中的pool.map不起作用

时间:2016-04-20 04:14:18

标签: windows multiprocessing python-3.5

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,有什么不对吗?

这就是我在屏幕上看到的内容:

我是资助数据分析的新手;我试图找到一种解决并行计算大数据问题的方法。

1 个答案:

答案 0 :(得分:4)

它无法正常工作,因为您在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