gpt4 book ai didi

解释器中的python多处理池断言错误

转载 作者:太空狗 更新时间:2023-10-29 20:40:02 26 4
gpt4 key购买 nike

我正在编写一个示例程序来测试 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: Can't pickle : attribute lookup builtin.function failed”有关

谁能帮帮我?

谢谢

最佳答案

你输入了:

>>> pool.close()

from the docs:

close()

Prevents any more tasks from being submitted to the pool. Once all the tasks have been completed the worker processes will exit.

当然你不能再使用游泳池了,你关闭了它。

关于解释器中的python多处理池断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10368810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com