我正在编写一个示例程序来测试 python 2.7.2+ 中工作线程多处理池的使用情况
这是我在 python ubuntu 解释器中编写的代码
>>> from multiprocessing import Pool
>>> def name_append(first_name,last_name):
... return first_name+" "+last_name
...
>>> from functools import partial
>>> partial_name_append=partial(name_append,'kiran')
>>> partial_name_append('acb')
'kiran acb'
>>> abc='kiran'
>>> pool=Pool(processes=4)
>>> pool.map(partial_name_append,abc)
['kiran k', 'kiran i', 'kiran r', 'kiran a', 'kiran n']
>>> pool.close()
>>> pool.join()
>>> pool.map(partial_name_append,abc)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/multiprocessing/pool.py", line 226, in map
assert self._state == RUN
AssertionError
在我遇到pickle错误之后,在我的工作人员池中为大型数据集编写代码时,我尝试做一些小例子并尝试找出错误是什么。
我不明白为什么相同的语句“pool.map”不起作用,而它在上面已经起作用了。我认为我已经正确执行了“池映射”,但我不明白原因。
此错误是否与“PicklingError:无法pickle:属性查找”相关builtin.功能失败”
有人可以帮我吗 ?
Thanks