我正在创建一个类的对象(使用多处理)并将其添加到Manager.dict(),以便我可以在其工作完成时从对象内的字典(项目指向)中删除该项目.
我尝试了以下代码:
from multiprocessing import Manager, Process
class My_class(Process):
def __init__(self):
super(My_class, self).__init__()
print "Object", self, "created."
def run(self):
print "Object", self, "process started."
manager=Manager()
object_dict=manager.dict()
for x in range(2):
object_dict[x]=My_class()
object_dict[x].start()
但是我收到了一个错误:
TypeError: Pickling an AuthenticationString object is disallowed
for security reasons
为了好奇,我删除了多处理部分,并试着像:
from multiprocessing import Manager
class My_class():
def __init__(self):
print "Object", self, "created."
manager=Manager()
object_dict=manager.dict()
for x in range(2):
object_dict[x]=My_class()
它没有给我任何错误并显示两个对象的地址.
这个错误是什么以及如何让它消失?