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

首頁 > 編程 > Python > 正文

python多進程共享變量

2020-01-04 17:33:59
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要為大家詳細介紹了python多進程共享變量的相關資料,感興趣的小伙伴們可以參考一下
 

本文實例為大家分享了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程序設計有所幫助。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴楚县| 湘潭县| 余江县| 临清市| 平和县| 海淀区| 荃湾区| 曲松县| 富平县| 陇西县| 古交市| 安溪县| 讷河市| 嵊泗县| 清新县| 土默特左旗| 新田县| 巴彦县| 电白县| 安丘市| 崇明县| 汾西县| 隆子县| 东乡| 兴国县| 北碚区| 大田县| 宜宾县| 曲水县| 贡觉县| 舞钢市| 长葛市| 安阳市| 斗六市| 马公市| 乌兰浩特市| 宜兰县| 溧水县| 朝阳市| 安化县| 福安市|