使用多处理时出现以下错误:
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_inner
self.run()
File "/usr/lib/python2.6/threading.py", line 477, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.6/multiprocessing/pool.py", line 282, in _handle_results
task = get()
UnpicklingError: NEWOBJ class argument has NULL tp_new
我完全不知道这意味着什么,尽管这听起来像是 C 级别的问题。任何人都可以对此有所了解吗?
更新:好的,所以我想出了如何解决这个问题。但我还是有点困惑。我正在返回这个类的一个实例:
class SpecData(object):
def __init__(self, **kwargs):
self.__dict__.update(**kwargs)
def to_dict(self):
return self.__dict__
如果我返回这个对象的一个实例,我会得到错误。但是,如果我调用to_dict
并返回字典,它就可以工作。我究竟做错了什么?