Manager 进程间数据共享

#_author:来童星
#date:2019/12/11
#Managers
from multiprocessing import Process, Manager
def f(d, l,n):
d[n] = '1'
d['2'] = 2
d[0.25] = None
l.append(n)
print(l)
if __name__ == '__main__':
with Manager() as manager:
d = manager.dict()
l = manager.list(range(5))
p_list = []
for i in range(10):
p = Process(target=f, args=(d, l,i))
p.start()
p_list.append(p)
for res in p_list:
res.join()
print(d)# {0: '1', 0.25: None, 2: '1', 3: '1', 4: '1', 5: '1', '2': 2, 1: '1', 8: '1', 9: '1', 7: '1', 6: '1'}
print(l)# [0, 1, 2, 3, 4, 0, 1, 2, 4, 5, 3, 7, 8, 6, 9]

posted @ 2019-12-11 21:54  Stary_tx  阅读(239)  评论(0编辑  收藏  举报