您的当前位置:首页 > 热点 > ZooKeeper 分布式锁 Curator 源码之二:可重入锁重复加锁和锁释放 正文
时间:2026-11-12 来源:网络整理 编辑:热点
惊悚片大全免费观看恐怖电影
前言
加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢?
1锁重入
在上一小节中Zo,可以看到加锁的过程,再回头看 internalLock 这个方法。
加锁成功之后,将当前线程放oK到 threadData 中,threadData 是 ConcurrentMap
假如锁重入了,直ee接就会在上一部分 lockData != null 被拦下,然后执行 lockData.locpekCount.incrementAndGet();。
对 lockCount 自增,代表r 了锁重入。
这里发现了吧!Curator 的锁重入是在 Java 代码中实现的。
2锁释放
当锁需要分布释放的时候,只需要调用 lock.release() 进行释放即可,具体是如何释放的呢?
主要分式锁为两部分:
递减 threadData 中当前线程的加锁次数; 加锁次数大于 0,说明还剩余重 C入次数,直接返回; 加锁次数等于 0,则 releaseLock 释放锁,并删除 threadDaurta 中当前线程 key。
releaseLock 方法中就没有多少复杂逻辑了,就是移除监at听器,删除临时顺序节点。也就是 /locks/lock_01/_c_e855d232or-c636-4241-bf8e-f047939a5833-lock-0000000001。
3 源总结
ZooKeeper 的 InterProcessMutex 锁是通过 Java 代码中维护了一码之个 lockCount 来判断是否重入的。
云安全日报220211:红帽云计算应用平台发现操作系统命令执行漏洞,需要尽快升级2026-11-02
云计算开发:Python3数学函数max()方法详解2026-05-27
字节跳动发布全新开源长文本处理模型 Seed-OSS-36B2026-10-15
遏制矿工扫货 英伟达限制显卡性能2026-07-18
标签: 新东方2026-05-25
标签: 元保 YB 财报 保险科技2026-10-03
标签: 智界汽车 华为奇瑞 弗拉维奥曼佐尼 智界S72026-10-20
2020年技术趋势:今年发生了什么?2026-07-22
标签: 香港航空 西捷航空 代码共享 国际航线2026-07-16
大规模算力中心建设拉升需求 国产光纤光缆与光模块大卖2026-06-15
云计算开发:Python练习实例-输入一个奇数,求整数2026-07-25
国产GPU新突破:摩尔线程S5000 助力中国移动“九天”大模型2026-06-12
记录一次 Hbase 线上问题的分析和解决2026-07-21
特斯拉车机语音大模型在沪完成备案2026-05-25
云计算开发:Python练习实例-利用递归方法求值2026-09-19
标签: 鑫森炭业 北交所IPO 多孔炭材料 活性炭2026-09-12
标签: 动力电池2026-07-03
亚马逊公布阿灵顿县第二个唯美总部设计方案 预计2025年竣工2026-07-20
LiblibAI 2.0正式上线:内置多个顶级模型,限时免费算力开放2026-09-01
标签: 小米集团 星纪魅族 曾洋 公关媒介2026-09-07