python并发编程中多进程与互斥锁的原理解析
发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,这篇文章主要介绍"python并发编程中多进程与互斥锁的原理解析",在日常操作中,相信很多人在python并发编程中多进程与互斥锁的原理解析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2025年11月17日python并发编程中多进程与互斥锁的原理解析
这篇文章主要介绍"python并发编程中多进程与互斥锁的原理解析",在日常操作中,相信很多人在python并发编程中多进程与互斥锁的原理解析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python并发编程中多进程与互斥锁的原理解析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
运行多进程 每个子进程的内存空间是互相隔离的 进程之间数据不能共享的
互斥锁
但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,
是可以的,而共享带来的是竞争,竞争带来的结果就是错乱
#并发运行,效率高,但竞争同一打印终端,带来了打印错乱from multiprocessing import Processimport timedef task(name): print("%s 1" % name) time.sleep(1) print("%s 2" % name) time.sleep(1) print("%s 3" % name)if __name__ == '__main__': for i in range(3): p = Process(target=task, args=("子进程%s" % i,)) p.start()'''子进程2 1子进程0 1子进程1 1子进程2 2子进程1 2子进程0 2子进程2 3子进程1 3子进程0 3'''如何控制,就是加锁处理。而互斥锁的意思就是互相排斥,如果把多个进程比喻为多个人,
互斥锁的工作原理就是多个人都要去争抢同一个资源:卫生间,一个人抢到卫生间后上一把锁,其他人都要等着,等到这个完成任务后释放锁,其他人才有可能有一个抢到......
所以互斥锁的原理,就是把并发改成串行,降低了效率,但保证了数据安全,不错乱
加了互斥锁就没有并发效果了 加上锁只有一个可以运行 互斥锁会把并发变成串行 效率变低了
解决:
导入模块 Lock
现在程序启动 所有进程首先会去抢锁 只有抢到锁的才能运行
等这个进程运行完了解锁后 再到其他进程继续抢锁
from multiprocessing import Process, Lockimport timedef task(name, mutex): # 加锁 mutex.acquire() print("%s 1" % name) time.sleep(1) print("%s 2" % name) time.sleep(1) print("%s 3" % name) # 把锁拆了 mutex.release()if __name__ == '__main__': # 建一个对象实例 mutex = Lock() for i in range(3): # 把锁传给子进程 让所有子进程用同一把锁 p = Process(target=task, args=("子进程%s" % i, mutex)) p.start()'''现在程序启动 所有进程首先会去抢锁 只有抢到锁的才能运行等这个进程运行完了解锁后 再到其他进程继续抢锁''''''子进程0 1子进程0 2子进程0 3子进程1 1子进程1 2子进程1 3子进程2 1子进程2 2子进程2 3'''牺牲了效率,保证数据不错乱
到此,关于"python并发编程中多进程与互斥锁的原理解析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
进程
运行
原理
就是
编程
错乱
效率
数据
学习
之间
只有
多个
竞争
卫生
卫生间
完了
文件
更多
程序
系统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2018网络安全
服务器net3.5怎么替换
行政许可流程图软件开发
网络安全手抄报设计黑白
实用软件开发语言
综合实践网络安全教学设计
怎样测试转发服务器
新疆网络安全培训心得体会
网络安全知识画高难度
服务器上简单方便的ftp服务
腾讯网络安全工程师招聘
我国高新科技互联网
辽宁智慧城管软件开发公司
德惠网络技术哪家好
网络安全防护体系概念
苹果软件开发云ppt
无锡定制软件开发互惠互利
宝塔网站搬家数据库连接
视易服务器管理
沈阳视佳网络技术有限公司
网络安全宣传周北屯
数据库创建事务语句添加数据
软件开发企业税务优惠政策
找不到文件服务器管理
2021计算机网络技术基础
27岁学软件开发
青岛企业软件开发公司
如何打开服务器的任务管理
此计算机无法提供服务器的计算机
以计算机为主的数据网络安全