运行简单示例时出现多处理错误

时间:2018-04-01 22:54:57

标签: python python-3.x multiprocessing python-multiprocessing attributeerror

我一直在尝试使用multiprocessing lib运行一些并行代码来优化某些功能 但由于某种原因,它不起作用(在cmd,spyder和jupyter中)。

实际上我得到了无限循环过程和AttributteError

我测试了一些简单的函数来试图理解我做错了什么,但我认为这不是代码问题而且我无法弄清楚问题是什么。

谢谢!

answer to duplicate answer to duplicate2

1 个答案:

答案 0 :(得分:0)

在Pool之前定义square方法。完整的例子:

➜ python3      
Python 3.6.4 (default, Mar 13 2018, 09:50:23) 
[GCC 6.3.0 20170519] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing as mp
>>> 
>>> def sq(x):
...     return x * x
... 
>>> with mp.Pool(2) as pool:
...     results = pool.map(sq, [1,2,3,4,5])
... 
>>> print (results)
[1, 4, 9, 16, 25]
>>>