python共享内存的读写同步与加锁 —— multiprocessing.Value和multiprocessing.Array、加锁

news/2025/11/16 17:40:18/文章来源:https://www.cnblogs.com/xyz/p/19228581

python共享内存的读写同步与加锁 —— multiprocessing.Value和multiprocessing.Array、加锁

multiprocessing.Value多进程读写操作:

点击查看代码
import time
from multiprocessing import Process, Valuedef func(val):for i in range(100):time.sleep(0.01)val.value += 1if __name__ == '__main__':val = Value('i', 0)p_list = [Process(target=func, args=(val,)) for _ in range(100)]for p in p_list:p.start()for p in p_list:p.join()print(val.value)

运行结果:

image


可以看到,如果该共享内存的数据读写正常的话该值为10000,实际运行后的结果出现不同的表现,并且并不等于10000。





加锁后的共享内存操作:

val.get_lock()



点击查看代码
import time
from multiprocessing import Process, Valuedef func(val):for i in range(100):time.sleep(0.01)with val.get_lock():val.value += 1if __name__ == '__main__':val = Value('i', 0)p_list = [Process(target=func, args=(val,)) for _ in range(100)]for p in p_list:p.start()for p in p_list:p.join()print(val.value)





运行结果:

image





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/967225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年11月温州律师事务所最新推荐,聚焦资质、案例、服务的五家机构深度解读!

本次推荐基于国际律师协会(IBA)最新测评标准及第三方数据机构的 12 个月动态监测,涵盖 120 余家法律服务机构的资质认证、案例胜诉率、客户满意度等核心维度。测评采用 “定量 + 定性” 双轨体系:定量部分依托 202…

UI设计公司审美积累|办公类软件界面设计巧思,效率与视觉的双重升级

UI设计公司审美积累|办公类软件界面设计巧思,效率与视觉的双重升级作为专注软件界面、大数据可视化的设计公司,今天带大家赏析几组办公类软件界面,看看如何通过设计让 “高效协作” 与 “视觉美感” 并存~🔹 【…

详细介绍:AVL树手撕,超详细图文详解

详细介绍:AVL树手撕,超详细图文详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

网络安全

互联网已逐渐成为我们日常生活不可或缺的部分。谈及互联网必然无法逃离网络安全这个话题,网络安全是什么,网络安全重要性如何,科技的进步对网络安全的推动是积极亦或是负面的...... 网络安全与之相关的概念性词汇有…

Zhengrui 11.16 总结

zhengrui 估计是选的之前的老题。 期望得分:200 pts 实际得分:0 pts 怎么回事呢? T1 noip t1 放博弈是吧。 仔细思考你会发现如果最后是小 A 操作那么小 A 必胜,因为不论最后两个数的奇偶性是什么,总能操作得到偶…

实用指南:spark组件-spark core(批处理)

实用指南:spark组件-spark core(批处理)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

windows安装mingw

mingw-w64的安装 MinGW全称是Minimalist GNU on Windows,也就是将Linux/Unix环境下赫赫有名的GCC编译器以及其相关的编译调试组件移植到了Windows上。 网页地址 https://www.mingw-w64.org/ github地址 https://githu…

C# 高级类型 dynamic,list,泛型(学习笔记5)

1. dynamic .Net Framework4.0新特性,提供了一种弱类型语言特性。 定义的时候不需要指定类型,只在运行时检查,和var不一样。/// <summary>/// dynamic类型/// </summary>public void TestDynamic(){dyn…

filebeat + logstash接入OpenStack日志

背景 本文原发布于CSDN,现搬运至此,免得某天突然变成VIP文章,自己都看不了。 文中有2台主机: (1)1.1.1.1是OpenStack的nova节点,安装filebeat (2)1.1.1.2是logstash节点 在1.1.1.1上通过filebeat读取OpenStac…

构建AI智能体:六十九、Bootstrap采样在大模型评估中的应用:从置信区间到模型稳定性 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

pip安装或查看工具包时显示WARNING: Ignoring invalid distribution -XX的解决办法

pip安装或查看工具包时显示WARNING: Ignoring invalid distribution -XX的解决办法安装一些包出现的问题如下:原因: 原因是后面对应的目录文件夹下有不合法的文件存在,造成这个问题的原因很可能是原先下载包的过程中…

11 月 13 日

今日进度 (1)Commit 记录 •陈鉴祥: 完成 msg-svc 降级队列测试,启动 agent-svc 基础开发 •何绍斌: 开发 house-svc 缓存刷新接口,联调权限校验 •张廷智: 优化仪表盘接口调用,完成工单分配页开发 •郑权: 压…

详细介绍:用Flux.1-Krea[dev]打造动漫风格插画的提示词灵感与创作技巧

详细介绍:用Flux.1-Krea[dev]打造动漫风格插画的提示词灵感与创作技巧2025-11-16 17:14 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: aut…

11 月 14 日

今日进度 (1)Commit 记录 •陈鉴祥: 完成 agent-svc 工单分配逻辑,联调 msg-svc 通知 •何绍斌: 优化缓存批量刷新,完成 pay-svc 流程测试 •张廷智: 对接 msg-svc 消息,完成报修进度页开发 •郑权: 汇总 11 …

2025-11-13~15 hetao1733837的刷题记录

2025-11-13~15 hetao1733837的刷题记录2025-11-13~15 hetao1733837的刷题记录 11-13 [JOISC 2014]Water Bottle 原题链接1:[P14422 [JOISC 2014] 水桶 / Water Bottle]([P14422 JOISC 2014] 水桶 / Water Bottle - 洛…

20251114周五日记

20251114周五日记今日: 1.早上去上班看了看youtube上的教程,把工程伦理ppt做了。 2.中午和师兄去吃了减脂餐。吃完回去跑了会儿代码,回去取快递装床帘,上课看看,老师叫去开会。 3.晚上讨论完和师兄吃饭,吃完回去…

11 月 12 日

今日进度 (1)Commit 记录 •陈鉴祥: 完成 mcp-svc 锁超时释放,联调 msg-svc 与 order-svc •何绍斌: 解决 pay-svc 签名问题,开发 house-svc 房源编辑接口 •张廷智: 修复报修页相机问题,完成管理者端仪表盘布…

Lombok踩了无数次的坑

今天写demo使用Lombok注解。结果在编译时报错: java: 无法将类 com.mine.redisdemo.User 中的构造器 User 应用到给定类型; 需要:没有参数 找到: int,java.lang.String 原因:实际参数列表和形式参数列表长度不同然…

11 月 7 日

今日进度 (1)Commit 记录 •陈鉴祥: 完成 Redis 队列方案选型,编写 msg-svc 基础代码 •何绍斌: 添加 MongoDB 房源表区域索引,开发 house-svc 详情接口 •张廷智: 优化用户信息缓存逻辑,完成房东端房源管理入…

详细介绍:LeetCode //C - 893. Groups of Special-Equivalent Strings

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …