0

我正在尝试并行化涉及将自定义对象作为参数的函数的任务。在函数体中,所述对象被操纵,因此我需要在每次试验开始时对原始对象进行深度复制。当我使用下面的代码时,显示对象是否已更改的标记直到 ~ 试用 30 才显示。我想我对如何通过 functools.partial 正确传输复制的对象感到困惑。

主持人

object_base = Object()
object.initialize()
pool = multiprocessing.Pool(processes = 8)
return pool.map(functools.partial(processTrial, deepcopy(object_base),
                array1, array2), range(num_trials))

工人

def processTrial(object, array1, array2, trial_number):
    if object.property != []:
        print '!!!!!!!!'
    for i in xrange(len(array1)):
        """ stuff including changing object.property """

作为旁注,我有时也会收到错误“对象实例作为没有属性'self'”......有什么提示吗?

4

0 回答 0