ZooKeeper 分布式锁 Curator 源码之二:可重入锁重复加锁和锁释放
[热点] 时间:2026-11-13 来源:爱财如命网 作者:生产设备 点击:次
前言
加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢?
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 释放锁,并删除 threadData 中当ur前线程 key。
releaseLock 方法中就没有多少复杂逻辑了,就是移除监听器,删除临at时顺序节点。也就是 /locks/lock_01/_c_e855d232-c636-424or1-bf8e-f047939a5833-lock-0000000001。
3总结
ZooK 源eeper 的 InterProcessMutex 锁是通过 Java 代码中维护了一个 lockCou码之nt 来判断是否重入的。
(责任编辑:成人用品)
相关内容
- 云计算核心技术Docker教程:Docker 使用网络端口映射连接
- 标签: 大北农
- 一季度AI应用月活创新高,豆包、千问、DeepSeek稳居第一梯队
- 云安全日报210329:Debian垃圾邮件过滤器发现注入攻击漏洞,需要尽快升级
- 容器云架构 | 了解 Kubernetes 网络模型
- 标签: 商汤科技 NEO架构 SenseNova 多模态模型
- 网易有道文档翻译功能免费开放,搭载“子曰”教育大模型提升多语种交流效率
- 阿里云新加坡可用区C机房发生火灾
- 成功进行云迁移的方法
- 标签: 传音控股 非洲智能机 IDC 智能手机
- 标签: 灵犀互娱 三国志·战略版 如鸢 阿里巴巴
- 标签: 美团Tabbit 陪读蛙 GPL协议 AI浏览器
- 2021年的15个DevOps发展趋势
- 标签: 游戏手机
精彩推荐
- 云计算开发:Python内置函数-pow() 函数详解
- 挑战主流认知!蚂蚁、人大在2025外滩大会发布行业首个原生MoE扩散语言模型
- 标签: 华大基因 生育健康 无创产前检测 基因检测
- 数据科学技术的未来
- 95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免
- 标签: 龙迅半导体 港交所 视频桥接芯片 专精特新
热门点击
- IBM收购云咨询服务提供商Nordcloud 挑战亚马逊微软 views+
- 英特尔新款数据中心芯片将于第一季度实现产能爬坡 views+
- 标签: 51Talk 黄佳佳 在线教育 美股财报 views+
- 谷歌母公司Alphabet将于7月28日发布2021年第二季度财报 views+
- 云计算核心技术Docker教程:清理未使用的Docker对象 views+
- AI数据中心公司Crusoe完成13. 8 亿美元股权融资,估值突破 100 亿美元 views+
- Yann LeCun:我是卷积神经网络之父,但也被它的专利卡过脖子 views+
- 每个多云策略都必须克服的5个挑战 views+
- YouTube 删除一频道 其内容涉及 AI 生成女性被杀害视频 views+
- 图样图森破-Pyecharts之柱状图 views+
