首页 > 编程 > Python > 正文

Python 进程之间共享数据(全局变量)的方法

2019-11-25 12:22:03
字体:
来源:转载
供稿:网友

进程之间共享数据(数值型):

import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变 if __name__=="__main__": num=multiprocessing.Value("d",10.0) # d表示数值,主进程与子进程共享这个value。(主进程与子进程都是用的同一个value) print(num.value)  p=multiprocessing.Process(target=func,args=(num,)) p.start() p.join()  print(num.value)

进程之间共享数据(数组型):

import multiprocessing def func(num): num[2]=9999 #子进程改变数组,主进程跟着改变 if __name__=="__main__": num=multiprocessing.Array("i",[1,2,3,4,5]) #主进程与子进程共享这个数组 print(num[:])  p=multiprocessing.Process(target=func,args=(num,)) p.start()  p.join()  print(num[:])

进程之间共享数据(dict,list):

import multiprocessing def func(mydict,mylist): mydict["index1"]="aaaaaa" #子进程改变dict,主进程跟着改变 mydict["index2"]="bbbbbb" mylist.append(11)  #子进程改变List,主进程跟着改变 mylist.append(22) mylist.append(33) if __name__=="__main__": with multiprocessing.Manager() as MG: #重命名  mydict=multiprocessing.Manager().dict() #主进程与子进程共享这个字典  mylist=multiprocessing.Manager().list(range(5)) #主进程与子进程共享这个List   p=multiprocessing.Process(target=func,args=(mydict,mylist))  p.start()  p.join()   print(mylist)  print(mydict)

多线程用全局变量(global)

以上这篇Python 进程之间共享数据(全局变量)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表