| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 面试杀手锏之zookeeper的分布式锁原理 -> 正文阅读 |
|
[Java知识库]面试杀手锏之zookeeper的分布式锁原理 |
?核心思想:当客户端要获取锁,则创建节点,使用完锁,则删除该节点。 1.客户端获取锁时,在lock节点下创建临时顺序节点。 2.然后获取lock下面的所有子节点,客户端获取到所有的子节点之后,如果发现自己创建的子节点? ? ? 序号最小,那么就认为该客户端获取到了锁。使用完锁后,将该节点删除。 3.如果发现自己创建的节点并非lock所有子节点中最小的,说明自己还没有获取到锁,此时客户端? ? ?需要找到比自己小的那个节点,同时对其注册事件监听器,监听删除事件。 4.如果发现比自己小的那个节点被删除,则客户端的Watcher会收到相应通知,此时再次判断自己? ? ? ?创建的节点是否是lock子节点中序号最小的,如果是则获取到了锁,如果不是则重复以上步骤? ? ? ? ?继续获取到比自己小的一个节点并注册监听。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:53:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |