我写了一些这样的代码:
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
这是一个存在的问题还是已修复?我该怎么做才能实现这个功能?