码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-01-07 00:41:42      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:image   多个   multi   bubuko   dict   lis   行修改   一个   end   

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

可通过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多进程-进程间数据的共享

标签:image   多个   multi   bubuko   dict   lis   行修改   一个   end   

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

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