进程中的Manager(),实现多进程的数据共享与传递
Posted justin-tim
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程中的Manager(),实现多进程的数据共享与传递相关的知识,希望对你有一定的参考价值。
__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(),实现多进程的数据共享与传递的主要内容,如果未能解决你的问题,请参考以下文章