欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python多進程共享變量

 更新時間:2016年04月06日 15:25:35   作者:geosson  
這篇文章主要為大家詳細介紹了python多進程共享變量的相關資料,感興趣的小伙伴們可以參考一下

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

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']

以上就是本文的全部內(nèi)容,希望對大家學習python程序設計有所幫助。

相關文章

  • Python獲取二維數(shù)組的行列數(shù)的2種方法

    Python獲取二維數(shù)組的行列數(shù)的2種方法

    這篇文章主要介紹了Python獲取二維數(shù)組的行列數(shù)的2種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python Coroutine池化的實現(xiàn)詳解

    Python Coroutine池化的實現(xiàn)詳解

    在當今計算機科學和軟件工程的領域中,池化技術(shù)如線程池、連接池和對象池等已經(jīng)成為優(yōu)化資源利用率和提高軟件性能的重要工具,所以下面我們就來看看Coroutine池化的具體實現(xiàn)吧
    2024-01-01
  • PyInstaller運行原理及常用操作詳解

    PyInstaller運行原理及常用操作詳解

    這篇文章主要介紹了PyInstaller運行原理及常用操作詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • python 爬取小說并下載的示例

    python 爬取小說并下載的示例

    這篇文章主要介紹了python 爬取小說并下載的示例,幫助大家更好的理解和學習python爬蟲,感興趣的朋友可以了解下
    2020-12-12
  • Python pip install如何修改默認下載路徑

    Python pip install如何修改默認下載路徑

    這篇文章主要介紹了Python pip install如何修改默認下載路徑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Django 視圖層(view)的使用

    Django 視圖層(view)的使用

    這篇文章主要介紹了Django 視圖層(view)的使用,詳細的介紹了什么是視圖層以及案例,非常具有實用價值,需要的朋友可以參考下
    2018-11-11
  • Python3標準庫之dbm UNIX鍵-值數(shù)據(jù)庫問題

    Python3標準庫之dbm UNIX鍵-值數(shù)據(jù)庫問題

    dbm是面向DBM數(shù)據(jù)庫的一個前端,DBM數(shù)據(jù)庫使用簡單的字符串值作為鍵來訪問包含字符串的記錄。這篇文章主要介紹了Python3標準庫:dbm UNIX鍵-值數(shù)據(jù)庫的相關知識,需要的朋友可以參考下
    2020-03-03
  • python中wx模塊的具體使用方法

    python中wx模塊的具體使用方法

    這篇文章主要介紹了python中wx模塊的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Python數(shù)據(jù)可視化制作全球地震散點圖

    Python數(shù)據(jù)可視化制作全球地震散點圖

    這篇文章主要介紹了Python數(shù)據(jù)可視化制作全球地震散點圖,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • Django模型層實現(xiàn)多表關系創(chuàng)建和多表操作

    Django模型層實現(xiàn)多表關系創(chuàng)建和多表操作

    使用django ORM可以創(chuàng)建多表關系,并且也支持多張表之間的操作,以創(chuàng)建表關系和查詢兩部分說明django ORM的多表操作,本文就詳細的介紹一下,感興趣的可以了解一下
    2021-07-07

最新評論