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

Posted Sch01aR#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python多进程-进程间数据的共享相关的知识,希望对你有一定的参考价值。

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

可通过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多进程-进程间数据的共享的主要内容,如果未能解决你的问题,请参考以下文章

PYTHON——多进程:进程间通信和数据共享

python-- 多进程的基本语法 进程间数据交互与共享进程锁和进程池的使用

python多线程

多线程编程

python多进程

python学习笔记——多进程中共享内存Value & Array