您的当前位置:首页 > 热点 > ZooKeeper 分布式锁 Curator 源码之二:可重入锁重复加锁和锁释放 正文
时间:2026-11-15 来源:网络整理 编辑:热点
外推留痕软件【tg:seogoogle987】
前言
加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢?
1锁重入
在上一小节中Zo,可以看到加锁的过程,再回头看 internalLock 这个方法。
加锁成功之后,将当前oK线程放到 threadData 中,threadData 是 ConcurrentMap
假如ee锁重入了,直接就会在上一部分 lockData != null 被拦下,然后执行 lockData.lpeockCount.incrementAndGet();。
对 lockCount 自增,r 代表了锁重入。
这里发现了吧!Curator 的锁重入是在 Java 代码中实现的。
2锁释放
当分布锁需要释放的时候,只需要调用 lock.release() 进行释放即可,具体是如何释放的式锁呢?
主要分为两部分:
递减 threadData 中当前线程的加锁次数; 加锁次数大于 0, C说明还剩余重入次数,直接返回; 加锁次数等于 0,则 releaseLock 释放锁,并删除ur threadData 中当前线程 key。
releaseLock 方法中就没有多少复杂逻辑at了,就是移除监听器,删除临时顺序节点。也就是 /locks/lock_01/_c_e855ord232-c636-4241-bf8e-f047939a5833-lock-00000 源00001。
3总结
ZooKeeper 的 InterProcessMutex 锁是通过 Java码之 代码中维护了一个 lockCount 来判断是否重入的。
标签: vivo 法务维权 造谣刑事立案 民事诉讼2026-11-12
云安全日报210225:IBM消息传递网关发现执行任意代码漏洞,需要尽快升级2026-05-19
亚马逊云计划在韩国追加 50 亿美元投资,推动 AI 数据中心建设2026-10-07
标签: 长鑫科技 科创板IPO DRAM 朱一明2026-05-29
微软在美国遭反垄断调查,云计算帝国面临新挑战2026-10-13
标签: 博睿康 脑机接口 NEO系统 中信证券2026-06-10
腾讯推出 AI 公考通,公考信息获取变得更简单!2026-11-07
一文解读谷歌面临的三起反垄断诉讼案2026-07-16
标签: 索尼 LEGO 银座索尼公园 80周年2026-09-02
标签: 康宁 Meta Springboard计划 数据中心2026-09-10
标签: 旅游 活力集团2026-07-26
标签: 神火股份 电解铝 电池铝箔 超薄铝箔2026-11-14
云计算核心技术Docker教程:Docker Hub设置Slack集成2026-07-24
IDC:2029年全球 AI 投资将达到12619亿美元2026-06-21
芯片短缺仍将持续6个月!思科CEO认为芯片制造能力应更加分散2026-08-07
标签: IBM 克里希纳 AGI 数据中心2026-09-24
网红列车被逼停,无人机管制到底有多难?2026-05-28
谷歌CEO皮查伊就AI研究员离职一事向员工道歉2026-08-16