0
我想在父進程和子進程之間共享一個帶有一些Event()變量的字典,但不知道如何。請注意,我需要在進程啓動後添加或刪除(鍵值)。似乎下面的正常詞典和多處理.Manager.dict都不能滿足我的要求。Python在父進程和子進程之間共享帶有Event()變量的字典
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())
那麼在父進程和子進程之間共享這些信號量的正確方法是什麼?
它也沒有幫助。我得到一個RemoteError消息「Unserializable message:('#RETURN',)」。 –
nicklhy
請仔細檢查,並添加'if __name__ =='__main __':'定義'fun'後 – Udi
此代碼在我的筆記本電腦中出現同樣的錯誤消息。順便說一句,我使用Python2.7。 – nicklhy