[問題] 測試multiprocessing當中manager的dict()
各位先進達人好,
請問在測試以下程式碼為何結果無效?
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呢?
還請指教
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.71.217.246 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1602839460.A.884.html
→
10/16 17:45,
3年前
, 1F
10/16 17:45, 1F
推
10/16 17:48,
3年前
, 2F
10/16 17:48, 2F
→
10/16 17:50,
3年前
, 3F
10/16 17:50, 3F
→
10/16 17:51,
3年前
, 4F
10/16 17:51, 4F
→
10/16 17:55,
3年前
, 5F
10/16 17:55, 5F
→
10/16 17:55,
3年前
, 6F
10/16 17:55, 6F
→
10/16 17:56,
3年前
, 7F
10/16 17:56, 7F
→
10/16 17:56,
3年前
, 8F
10/16 17:56, 8F
→
10/16 17:56,
3年前
, 9F
10/16 17:56, 9F
→
10/16 17:57,
3年前
, 10F
10/16 17:57, 10F
→
10/16 17:57,
3年前
, 11F
10/16 17:57, 11F
推
10/17 19:35,
3年前
, 12F
10/17 19:35, 12F
→
10/17 19:35,
3年前
, 13F
10/17 19:35, 13F
→
10/17 19:36,
3年前
, 14F
10/17 19:36, 14F
推
10/19 00:04,
3年前
, 15F
10/19 00:04, 15F
→
10/19 00:04,
3年前
, 16F
10/19 00:04, 16F
→
10/19 00:04,
3年前
, 17F
10/19 00:04, 17F
→
10/19 00:11,
3年前
, 18F
10/19 00:11, 18F