Python多进程共享变量实现方法

本文介绍了Python中实现多进程共享变量的两种方法:1) 使用`global`关键字实现只读共享,2) 使用`BaseManager`进行可修改的共享。通过实例详细解释了如何在进程中创建和操作共享文件对象及自定义类实例,展示了如何确保并发访问的安全性。
摘要由CSDN通过智能技术生成

process_name = “process 1”

tmp_process = multiprocessing.Process(target=sub_process,args=(process_name,share_var,share_lock))

process_list.append(tmp_process)

process_name = “process 2”

tmp_process = multiprocessing.Process(target=sub_process, args=(process_name,share_var,share_lock))

process_list.append(tmp_process)

for process in process_list:

process.start()

for process in process_list:

process.join()

if name == “main”:

main_process()

执行结果如下,可以看到进程1中的修改已表现在进程2中(不过要注意,和多线程一样,如果运算量再大一点进程1并不一定比进程2先执行):

在这里插入图片描述

typecode如果是数值或单个字符,可为以下类型(注意有引号):

在这里插入图片描述

如果是字符串类型,typecode可为以下第一列形式(注意无引号):

在这里插入图片描述

三、共享实例化对象实现方法

1 共享不需要修改实例化对象实现方法----使用global

但我们前面说过global方式不可以修改,但读还是没问题的;所以对象引用还是可以使用global方式。

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:77846393

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值