zoukankan      html  css  js  c++  java
  • 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学习之路2☞数据类型与变量
    Python学习之路1☞简介及入门代码
    OpenStack组件系列☞horizon搭建
    39
    38
    37
    36
    35
    33
    32
  • 原文地址:https://www.cnblogs.com/sch01ar/p/8215610.html
Copyright © 2011-2022 走看看