进程之间共用变量

python跨文件全局变量_Python 进程之间共享数据(全局变量)的方法

weixin_39843782 2020-11-24 05:11:21

11  正在上传…重新上传取消​ 收藏 

文章标签: python跨文件全局变量

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

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)

猜你喜欢

转载自blog.csdn.net/qq_51609636/article/details/120214350
今日推荐