我想在父进程和子进程之间共享一个带有一些Event()变量的dict但不知道如何。请注意,我需要在启动进程后添加或删除(键,值)。似乎正常的字典和下面的multiprocessing.Manager.dict都不能满足我的要求。
import time
from multiprocessing import Process, Event, Manager
manager = Manager()
d1 = manager.dict()
# d1 = dict()
def fun():
# do something and then set d1[1]
time.sleep(4)
d1[1].set()
p = Process(target=fun, name='fun')
p.start()
d1[1] = Event() # add a (key, value) after the process is defined
p.join()
print 'After fun, d1[1] = %s' % (d1[1].is_set())
那么在父进程和子进程之间共享这些信号量的正确方法是什么?
答案 0 :(得分:0)
替换
d1[1] = Event()
与
d1[1] = manager.Event()