码迷,mamicode.com
首页 > 系统相关 > 详细

进程中的Manager(),实现多进程的数据共享与传递

时间:2018-09-07 14:12:29      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:start   list   一个   rom   进程间   manager   name   共享   author   

__author__ = "Alex Li"

from multiprocessing import Process, Manager
import os
def f(d, l):
d[os.getpid()] =os.getpid()
l.append(os.getpid())
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))
p.start()
p_list.append(p)
for res in p_list: #等待结果
res.join()

print(d)
print(l)


‘‘‘
Manager()充当进程之间的翻译者,如果有10个进程,就会有10个一模一样数据,才能进行多个进程间共享和传递
‘‘‘

进程中的Manager(),实现多进程的数据共享与传递

标签:start   list   一个   rom   进程间   manager   name   共享   author   

原文地址:https://www.cnblogs.com/Justin-Tim/p/9603762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!