范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

浅谈Python中的线程锁

  竞争条件是并发编程中的一个重要问题。当一个线程试图修改共享资源的同时,另一个线程正在修改该资源时,就会出现这种情况——这会导致输出乱码,这就是线程需要同步的原因。
  Python的threading模块包括Lock作为同步工具。锁有两种状态:锁定解锁
  可以使用该acquire()方法锁定锁。一旦一个线程获得了锁,所有后续的获取锁的尝试都会被阻塞,直到它被释放。可以使用该release()方法释放锁。
  注意在未锁定状态的锁上调用该release()方法会导致错误。
  以下代码通过一个简单的示例展示了如何在 Python 中使用锁:
  假设银行账户中有 100 美元。每个月存入 10 美元作为利润,扣除 10 美元支付账单。thread1用于存入利润,而thread2用于支付账单。在某些月份,利润会在账单支付后存入。但是,这不应影响帐户中的最终金额。竞争条件
  由于竞争条件下,以下代码得到的结果可能不正确。可能会出现一个线程在上下文切换前无法将更新后的值写入共享变量deposit,而另一个线程读取到未更新的值的情况;因此,导致不可预测的结果。# Importing the threading module import threading  deposit = 100 # Function to add profit to the deposit def add_profit():      global deposit     for i in range(100000):         deposit = deposit + 10 # Function to deduct money from the deposit def pay_bill():      global deposit     for i in range(100000):         deposit = deposit - 10 # Creating threads thread1 = threading.Thread(target = add_profit, args = ()) thread2 = threading.Thread(target = pay_bill, args = ()) # Starting the threads thread1.start()  thread2.start() # Waiting for both the threads to finish executing  thread1.join() thread2.join() # Displaying the final value of the deposit print(deposit)
  运行以上代码,将输出-235420使用锁来解决问题
  acquire()和release()方法之间的代码是原子执行的,因此在另一个线程已经进行更改之后,一个线程不可能读取未更新的版本。# Importing the threading module import threading  # Declraing a lock lock = threading.Lock() deposit = 100 # Function to add profit to the deposit def add_profit():      global deposit     for i in range(100000):         lock.acquire()         deposit = deposit + 10         lock.release() # Function to deduct money from the deposit def pay_bill():      global deposit     for i in range(100000):         lock.acquire()         deposit = deposit - 10         lock.release() # Creating threads thread1 = threading.Thread(target = add_profit, args = ()) thread2 = threading.Thread(target = pay_bill, args = ()) # Starting the threads   thread1.start()  thread2.start()  # Waiting for both the threads to finish executing  thread1.join() thread2.join() # Displaying the final value of the deposit print(deposit)
  运行以上程序,将输出:100

京东自营3月手机销量榜前十名被苹果与Redmi包揽?国产手机怎么了我是牧马堂,点击右上方关注和你分享自媒体成长干货受疫情影响,手机销售商纷纷抱怨,今年手机销量急速下滑。一年不如一年,据媒体了解年轻人已经三年没更换过新手机了。是手机跟不上年轻人步伐连vivo手机都卖不动了作者嘉林按理来说,失去了华为这位强势的对手,国产手机领头羊们理应如鱼得水才对,实则不尽然。近日,市场调研机构CINNOResearch公布报告,2月中国市场智能手机销量约2348万华为MateX3折叠手机新爆料月底推出,华为经典对折设计回归哈喽,您好!我是原呵呵,点点关注吧,更多精彩内容等着您华为是首批推出可折叠智能手机的公司之一,该公司已经在市场上推出了几款手机。它现在正准备推出其第三代可折叠智能手机。据悉,华为M2022年海南投资公司的税收政策和注册要求办理海南投资公司注册流程和要求,近日小米在海南新成立两家创投公司,注册资本均为10亿,不只是小米京东还有更多大企业都选择在海南布局,随着海南政策越来越好大力扶持中小型企业发展也鼓励GraalVM实践javaweb项目改造成SpringNativeSpringNative使用代码已贡献在github,iMinusMinusjaot的子模块javaweb,master分支为传统的ssm框架,切换到springnative分支即什么软件可以像微信一样视频语音通话而且还有很高的私密性?大家在平常社交中都有不同的需求,而且不同的聊天软件都有自己的特色。微信是国内目前使用人数最多的社交软件,功能齐全,文字语音视频聊天功能都有。但是这里主要还是以熟人社交为主,也有陌生WiFi全屋覆盖,信号满格真畅快世界上最遥远的距离,不是天涯海角,而是明明只有一墙之隔,却搜不到WiFi信号。最近的全屋WiFi热度很高,小编也要来蹭一波随着家庭成员的增加及人们思想观念的转变,全屋WiFi也被大红米K50目前是否值得入手,我建议等等618优点1。屏幕色准,分辨率,刷新率都在这个价位有着不错的表现。2。5500mah的电池,续航表现出色。3。67w充电功率对比前代没有提升,但对于我这种隔代升级用户来说,提升明显。4。华为折叠屏X3有望本月发布亮点依然是亮点,遗憾依然是遗憾据可靠消息称,近日一款代号为PALAL00的华为新机入网认证。随后有数码博主透露,华为新款折叠屏手机MateX3有望于4月份发布。结合两条消息我们不难看出,这款代号为PALAL00官方跳水1400元,真全面屏陶瓷机身,小米MIX4也不香了吗?作为电子产品,智能手机出现降价很正常,尤其是国内竞争相当激烈,基本上半年就是一个周期,如今天玑9000,骁龙8Gen1成为旗舰标配,去年的一众旗舰只能给它让路,大跳水的机型不计其数iOS15。4。1与iOS15。4续航对比,三款iPhone续航大增,其他机型慎重4月1日凌晨,苹果正式推送了iOS15。4。1系统,从版本号来看,这是iOS15。4的小更新,很多果粉表示不敢更新,害怕更新之后出现新的BUG,再者就是担心续航下滑,如今详细的对比
决策参考科比的基金投过阿里囧妈上线三日播放量超6亿1科比的基金投过这28家企业阿里戴尔在列事件美国当地时间1月26日,据多家美国媒体报道称,美国加利福尼亚州卡拉巴萨斯市发生一起直升机坠毁事故,美国篮球传奇球星科比布莱恩特在该起事故有钱能买长生不老?延寿药公布用户画像最受富人欢迎据国家卫健委发布的统计数据,我国人均预期寿命已从2010年的74。83岁提高至77岁。国家统计局资料显示,到2030年我国人均预期寿命还将上升至79岁,其中上海北京人均预期寿命更是决策参考马云当选2019年度商业人物阿里成全球市值第七大公司1马云当选福布斯中文版2019年度商业人物事件去年福布斯中文版年度商业人物的人选选择马云。马云去年卸任阿里巴巴集团董事局主席,集中精力从事公益事业另一方面,过去12个月,阿里巴巴继决策参考字节跳动中国的广告收入近270亿美元暴风集团退市1字节跳动今年在中国的广告收入有望达到270亿美元事件据相关报道,两位知情人士称,TikTok母公司字节跳动今年在中国市场的广告营收将至少达到人民币1800亿元(约合272亿美元)呵护家人健康,畅享洁净空气,信山空气净化器IA1019S空气中含有很多对人体有害的物质,比如粉尘雾霾甲醛细菌异味等。如果长时间吸入这些不干净的空气,难免会对我们的身体造成危害,尤其是家中有老人或者宝宝的家庭。而净化不干净空气最好的解决方一个人的生活也要精致和美味,美国西屋迷你小型破壁机体验一直都想要给家中添置一台破壁料理机,但是由于我一个人生活,考虑到大多数的破壁料理机的容量都比较大,老感觉不太适合,所以一直拖到现在。最近无意间看到美国西屋出了一款专为单人设计的破壁2020年中国K12阶段学生分级阅读白皮书核心摘要阅读越来越重要,分级阅读是大势所趋99父母会采取措施提高孩子阅读水平,但是95父母在孩子阅读方面仍有各种困扰,而分级阅读可以有效解决令父母困扰的选书难和阅读效果差的问题。国无油烹饪,健康美味,米家智能空气炸锅体验油炸食品,谁不爱?!每每看到油炸食品,都直流口水,但又担心会变胖,可以说美食与健康就是一对不离不弃的矛盾体。不过在米家智能空气炸锅面前,这一矛盾却能很好地化解。换句话说,米家智能空一杯多用,营养美味,七彩叮当迷你养生壶体验一直都想要一个既能烧水,又能煮粥的多功能小家电,找来找去,发现七彩叮当迷你养生壶还不错,可以满足我对养生杯的所有期待。使用一段时间后,七彩叮当迷你养生壶还真没让人失望,不仅功能全面口感细腻,营养美味,七彩叮当破壁机体验毋庸置疑,破壁机是一款利用率很高的厨房小家电之一。只要有了破壁机,在家就可以制作各种美味的饮品了,健康又营养。破壁机的品牌很多,而我之所以选择七彩叮当破壁机的原因有二,其一,颜值噶长虹电视有声无图像接到客户电话,上门维修一台长虹LED49C1080N有声无图像故障,开机长虹图标画面一闪即灭,之后再无动静,根据经验大致判断为电源或背光问题,拆机通电测试背光无电压输出(断开负载和