微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python多进程共享变量

这篇文章主要为大家详细介绍了python多进程共享变量的相关资料,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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

以上就是本文的全部内容,希望对大家学习python程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐