python多进程共享变量
作者:geosson 时间:2023-08-30 07:40:53
本文实例为大家分享了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,多进程,共享变量
0
投稿
猜你喜欢
CSS Expression 的优化
2009-09-24 13:27:00
ant-design-vue中的select选择器,对输入值的进行筛选操作
2024-04-26 17:41:26
分析Python中解析构建数据知识
2022-01-12 10:23:48
Javascript程序优化
2008-06-02 13:12:00
Python3使用requests登录人人影视网站的方法
2021-10-04 15:42:19
Python读取properties配置文件操作示例
2021-06-10 04:20:55
Node.js学习入门
2024-05-13 09:58:37
只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)
2012-02-12 15:55:17
微信小程序 云开发模糊查询实现解析
2023-08-24 14:47:57
Python中with...as...的使用方法
2021-10-01 16:58:07
详解使用pymysql在python中对mysql的增删改查操作(综合)
2024-01-14 00:17:13
MySQL缓存的查询和清除命令使用详解
2024-01-27 21:23:13
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2023-11-24 06:26:11
一些实用的sql语句
2024-01-23 10:14:14
详解js根据百度地图提供经纬度计算两点距离
2024-04-29 13:40:51
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2024-05-02 17:31:43
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2024-01-17 17:53:34
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2022-07-12 03:01:11
python 运算符 供重载参考
2021-01-20 01:15:45
在Python中使用成员运算符的示例
2023-12-12 01:36:20