多线程使用互斥锁
发布日期:2022-04-11 08:52:51
浏览次数:12
分类:博客文章
本文共 724 字,大约阅读时间需要 2 分钟。
线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁
1 from threading import Thread,Lock 2 3 g_num = 0 4 5 def test1(): 6 global g_num 7 #上锁 8 mutex.acquire() 9 for i in range(100000):10 g_num +=111 #解锁12 mutex.release()13 14 print("test1----g_num= %d"%g_num)15 16 def test2():17 global g_num18 #上锁19 mutex.acquire()20 for i in range(100000):21 g_num += 122 #解锁23 mutex.release()24 print("test2----g_num = %d"%g_num)25 26 27 # 创建互斥锁28 mutex = Lock()29 p1 = Thread(target = test1)30 p1.start()31 32 p2 = Thread(target = test2)33 p2.start()34 35 p1.join()36 p2.join()37 38 print("---g_num---%d"%g_num)
执行结果
test1----g_num= 100000test2----g_num = 200000---g_num---200000
转载地址:https://www.cnblogs.com/qiushanjian/p/10340968.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月25日 20时44分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Seekbar 属性 记录
2019-04-27
textview设置独特字颜色和背景颜色
2019-04-27
背景+带边框(圆角)的textview怎么设置
2019-04-27
第二技能
2019-04-27
算法的设计
2019-04-27
linux c : get curent tty info
2019-04-27
JAVA Freemarker(9)---常见语法大全
2019-04-27
Java MyBatis(1)--- Generator 详解
2019-04-27
Java MyBatis(2)--- generatorConfig.xml详解与运行
2019-04-27
VueJS(5)---初步练习(5题)
2019-04-27
mysql(3)-- 修改root密码命令小结
2019-04-27
JQuery(3)--冒泡效果
2019-04-27
异常(2)-- UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/项目包名
2019-04-27
Android软键盘(1)---输入法界面管理(打开/关闭/状态获取)
2019-04-27
Android动态设置view的高度宽度
2019-04-27
css3 属性 text-overflow 实现截取多余文字内容 以省略号来代替多余内容
2019-04-27
vue 事件总线EventBus的概念、使用以及注意点
2019-04-27
JavaScript 用七种方式教你判断一个变量是否为数组类型
2019-04-27
细讲前端设置cookie, 储存用户登录信息
2019-04-27