无法使用多处理管理器修改词典中的词典?

时间:2013-11-04 06:31:36

标签: python dictionary multiprocessing

我写了一些这样的代码:

from multiprocessing import Process, Manager

def f(m, d, i):
    d['d'] = m.dict()
    d['d'][i] = i

if __name__ == '__main__':
    manager = Manager()

    d = manager.dict()

    for i in range(10):
        p = Process(target=f, args=(manager, d, i))
        p.start()
        p.join()

    print d

我假装得到以下结果:

{'d': {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}}

但它没有用,我得到了:

{'d': {}}

我对此非常困惑并通过谷歌搜索并找到这个网站 - http://bugs.python.org/issue6766

这是一个存在的问题还是已修复?我该怎么做才能实现这个功能?

0 个答案:

没有答案