我想知道是否可以跨多个进程共享字典的内容。我一直在查看http://docs.python.org/2/library/multiprocessing.html#shared-ctypes-objects但它只描述了如何共享变量但我还没有弄清楚如何共享一个完整的字典。我知道,我可以使用 pickle 通过将其存储到文件来共享它,但这似乎不是很有效,尤其是。因为我在带有闪存的系统上运行它......有什么提示吗?
谢谢,罗恩
我想知道是否可以跨多个进程共享字典的内容。我一直在查看http://docs.python.org/2/library/multiprocessing.html#shared-ctypes-objects但它只描述了如何共享变量但我还没有弄清楚如何共享一个完整的字典。我知道,我可以使用 pickle 通过将其存储到文件来共享它,但这似乎不是很有效,尤其是。因为我在带有闪存的系统上运行它......有什么提示吗?
谢谢,罗恩
manager
从multiprocessing
图书馆使用。
from multiprocessing import Process, Manager
def f(d):
for i in range(10000):
d['blah'] += 1
if __name__ == '__main__':
manager = Manager()
d = manager.dict()
d['blah'] = 0
procs = [ Process(target=f, args=(d,)) for _ in range(10) ]
for p in procs:
p.start()
for p in procs:
p.join()
print d