首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/koderover/blog/5332614

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

并发编程中,你加的锁未必安全

摘要:在编写多线程并发程序时,我明明对共享资源加锁了啊?为什么还是出问题呢?问题到底出在哪里呢?其实,我想说的是:你的加锁姿势正确吗? 本文分享自华为云社区《【高并发】高并发环境下诡异的加锁问题(你加的锁未必安全)》,作者:冰 河。 我们知道在并发编程中,不能使用多把锁保护同一个资源,因为这样达不到线程互斥的效果,存在线程安全的问题。相反,却可以使用同一把锁保护多个资源。那么,如何使用同一把锁保护多个资源呢?又如何判断我们对程序加的锁到底是不是安全的呢?我们就一起来深入探讨这些问题! 分析场景 我们在分析多线程中如何使用同一把锁保护多个资源时,可以将其结合具体的业务场景来看,比如:需要保护的多个资源之间有没有直接的业务关系。如果需要保护的资源之间没有直接的业务关系,那么如何对其加锁;如果有直接的业务关系,那么如何对其加锁?接下来,我们就顺着这两个方向进行深入说明。 没有直接业务关系的场景 例如,我们的支付宝账户,有针对余额的付款操作,也有针对账户密码的修改操作。本质上,这两种操作之间没有直接的业务关系,此时,我们可以为账户的余额和账户密码分配不同的锁来解决并发问题。 例如,在支付宝账户...

从社区贡献者到加入核心团队,开源给他带来了这些变化

作者 | 尔悦 采访嘉宾 | 谭雪峰 就在今年六月份,又一位社区 Contributor 成功入职涛思数据,他的身份也从 TDengine 的社区贡献者转变为专职的研发人员。在身份变换的同时,他对于自身的成长和发展、对于代码的品质和要求、对于开源的理解和融入都有了一个新的认知和提升。 “你是怎么看待开源的?你觉得开源能带来什么? 如何才能成为一名优秀的 Contributor? 参与开源项目,成为 Contributor 后可以获得什么? ......” 带着这些问题,看看他眼中的答案是否和你所见略同。 选择成为逆流而上的“逆行者” 作为大连人的谭雪峰,从小到大基本都生活在大连这座海滨城市,大学毕业后,基于自身兴趣出发便在家附近找了一份研发工作,如果没有成为 TDengine GitHub 开源社区的贡献者,或许他的生活和工作轨迹也不会这么快从大连转移到首都北京。在众多年轻人“逃离北上广”的大潮中,谭雪峰成为从家乡到北京逆流而上的“逆行者”之一。 从一个熟悉的城市转移到另一个陌生的城市,这其实是一件说起来容易但做起来并不简单的事情,在这之前,95 年出生的谭雪峰可以说已经在大连扎根了 ...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。