国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python多進程共享變量

2019-11-25 16:51:23
字體:
來源:轉載
供稿:網友

本文實例為大家分享了python多進程共享變量的相關代碼,供大家參考,具體內容如下

from multiprocessing import Process, Managerimport osimport 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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 唐河县| 平利县| 林西县| 浦城县| 普安县| 吴忠市| 林口县| 忻城县| 安多县| 涞水县| 大埔县| 奇台县| 循化| 突泉县| 靖安县| 项城市| 孟津县| 天峨县| 凤城市| 天津市| 雅江县| 疏附县| 丽江市| 郧西县| 霸州市| 鄢陵县| 堆龙德庆县| 聊城市| 云梦县| 礼泉县| 青田县| 永城市| 长岛县| 汝南县| 莱西市| 宁乡县| 海宁市| 庆元县| 博湖县| 平江县| 大丰市|