各位先進達人好,
請問在測試以下程式碼為何結果無效?
from multiprocessing import Process, Manager
def f(d):
d[1] += '111'
d['2'] += 222
if __name__ == '__main__':
manager = Manager()
d = manager.dict()
d[1] = '1'
d['2'] = 2
p1 = Process(target=f, args=(d,))
p2 = Process(target=f, args=(d,))
p1.start()
p2.start()
p1.join()
p2.join()
print(d)
以上按照程式邏輯結果print出來是{1: '1', '2': 2}
為什麼f()沒影響到d這個dict呢?
還請指教
謝謝!