首页 > 编程语言 > 详细

Python多进程-进程间数据的共享

时间:2018-01-07 00:02:10      阅读:292      评论:0      收藏:0      [点我收藏+]

不同的进程不能同时修改一份数据,但是不同的进程能对一份数据进行修改

可通过Manager来实现进程间的数据共享

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

from multiprocessing import Process,Manager
import os

def Child_Process(a,b):
    a[os.getpid()] = os.getpid()
    b.append(os.getpid())
    print(b)

if __name__ == ‘__main__‘:
    d = Manager().dict() #生成一个字典,可在多个进程间传递和共享
    l = Manager().list() #生成一个列表,可在多个进程间传递和共享

    p_list = []

    for i in range(10):
        p = Process(target=Child_Process,args=(d,l))
        p.start()
        p_list.append(p)

    for r in p_list:
        r.join()

    print(d)
    print(l)

 运行结果

技术分享图片

父进程开启了10个子进程,10个子进程又把自己的进程号传入了数组和字典

Python多进程-进程间数据的共享

原文:https://www.cnblogs.com/sch01ar/p/8215610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!