幽灵资源网 Design By www.bzswh.com
本文实例为大家分享了python多进程共享变量的相关代码,供大家参考,具体内容如下
from multiprocessing import Process, Manager import os import time class MulFun(): def __init__(self): self.a = [1,2,3,4,5] self.b = 0 self.c = {} self.s = "hello world" self.radius = Manager().dict() self.radius['a'] = self.a self.radius['b'] = self.b self.radius['c'] = self.c self.radius['s'] = self.s def func1(self): self.b = self.radius['b'] for i in range(10): self.b += i self.radius['b'] = self.b time.sleep(0.5) print '1: ', self.radius['b'],':', self.radius['c'], os.getpid() def func2(self): self.c = self.radius['c'] for i in ['ab', 'bc', 'cd', 'df', 'fg']: self.c[i] = i + i self.radius['c'] = self.c time.sleep(0.5) print '2: ', self.radius['b'],':', self.radius['c'], os.getpid() def run(self): process1 = Process(target=self.func1, args=()) process2 = Process(target=self.func2, args=()) process1.daemon = True process2.daemon = True process1.start() process2.start() process1.join() process2.join() class MulSun1: def __init__(self, radius): self.radius = radius self.a = radius['a'] self.s = radius['s'] def process(self): for i, j in enumerate(self.a): #self.a[i] = j * 2 #self.radius['a'] = self.a time.sleep(0.5) print '1: ', self.radius['a'], ' & ', self.radius['s'] class MulSun2: def __init__(self, radius): self.radius = radius self.a = radius['a'] self.s = radius['s'] def process(self): for i in range(10): self.s = self.s + ':% s' %i if i < len(self.a): self.a[i] += i else: self.a.append(i + i) self.radius['s'] = self.s self.radius['a'] = self.a time.sleep(0.5) print '2: ', self.radius['a'], ' & ', self.radius['s'] if __name__ == '__main__': aa = MulFun() s1 = MulSun1(aa.radius) s2 = MulSun2(aa.radius) process1 = Process(target=s1.process, args=()) process2 = Process(target=s2.process, args=()) process1.daemon = True process2.daemon = True process1.start() process2.start() process1.join() process2.join() print "------------------------" print 'process id:', os.getpid() print 'done' print aa.radius['a'], ' & ', aa.radius['s']
以上就是本文的全部内容,希望对大家学习python程序设计有所帮助。
标签:
python,多进程,共享变量
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。