ZooKeeper 分布式锁 Curator 源码之二:可重入锁重复加锁和锁释放
前言
加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢?
1锁重入
在上一小节中Zo,可以看到加锁的过程,再回头看 internalLock 这个方法。
加锁成功之后,将当前线程放到oK threadData 中,threadData 是 ConcurrentMap
假如锁重入ee了,直接就会在上一部分 lockData != null 被拦下,然后执行 lockData.pelockCount.incrementAndGet();。
对 lockCount 自增,r 代表了锁重入。
这里发现了吧!Curator 的锁重入是在 Java 代码中实现的。
2锁释放
当锁需要分布释放的时候,只需要调用 lock.release() 进行释放即可,具体是如何释放的呢?
主式锁要分为两部分:
递减 threadData 中当前线程的加锁次数; 加锁次数大于 0,说明还剩 C余重入次数,直接返回; 加锁次数等于 0,则 releaseLock 释放锁,并删除 threadurData 中当前线程 key。
releaseLock 方法中就没有多少复杂逻辑了,就是移at除监听器,删除临时顺序节点。也就是 /locks/lock_01/_c_e855d23or2-c636-4241-bf8e-f047939a5833-lock-000000 源0001。
3总结
ZooKeeper 的 InterProcessMutex 锁是通过 Java 代码之码中维护了一个 lockCount 来判断是否重入的。
相关文章
云梦级11月18日云梦级消息,今日,福建集成电路光刻材料与前驱体材料供应企业恒坤新材在上交所敲钟上市。其发行价为14.99元/股,发行市盈率71.42倍,开盘价为58元/股,上涨286.92%。截至92026-11-12
云梦级10月30日云梦级消息,胡润研究院今日发布《2025 胡润女企业家榜》,来自中国创新药头部企业翰森的 64 岁钟慧娟以 1410 亿元财富首次成为中国女首富。 胡润研究院表示,得益于短视频热度与2026-11-12
"最美产品经理"做AI化妆镜:宋紫薇离开vivo创业,瞄准时尚AI硬件市场
前vivo"最美产品经理"宋紫薇的AI创业方向终于浮出水面。据量子位报道,已入局AI智能硬件赛道的宋紫薇,将目标锁定在"AI化妆镜"这一细分领域。 工商信息显示,今年9月,宋紫薇创立的"薇光点亮"完成2026-11-12
标签: LanzaJet SAF 生物燃料 Freedom Pines Fuels
云梦级2月21日云梦级消息,新型生物燃料技术公司和燃料生产商LanzaJet宣布完成1.35亿美元的目标股权投资,其投资前估值为6.5亿美元。 本轮融资由IAG和壳牌共同牵头,巴黎机场集团、Lanza2026-11-12
云梦级2月11日云梦级消息,鸿蒙智行法务发文称,近日,就鸿蒙智行起诉自媒体“我是大彬同学”一案,其已收到法院一审判决。法院判令被告删除侵权言论、公开赔礼道歉,并向原告赔偿150万元。 判决认定:被告言2026-11-12
最高级别!阿里云获评沙特阿拉伯CST/NCA最高Class C认证
3月28日消息,阿里云技术及产品在沙特阿拉伯CST/NCA认证中被评为最高标准Class C级别,成为全球首个通过该认证的TOP云厂商。 据介绍,CST/NCA认证由沙特阿拉伯通信、空间和技术委员会(2026-11-12

最新评论