在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

ZooKeeper共享锁怎么创建

150次阅读
没有评论

共计 1978 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要介绍“ZooKeeper 共享锁怎么创建”,在日常操作中,相信很多人在 ZooKeeper 共享锁怎么创建问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ZooKeeper 共享锁怎么创建”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

众所周知,在 Java 开发中,要创建一个单进程锁非常简单,使用 JDK 中自带的 java.util.concurrent.locks.Lock 接口即可实现锁的功能。

如今已经到了大数据、云的时代,而这种锁已经无法满足集群服务间锁的需求了,本文将简单说下如何使用 ZooKeeper 来实现共享锁功能。至于什么是共享锁呢?理解起来也很简单:就是指在多个实例中使用同一把锁。(我好像废话了……)

同样闪亮登场的还是我们的 Curator Framework,它封装了各种场景的锁,比如:共享锁、读写锁、可撤销锁等。

LockStartup.java

package org.bigmouth.common.zookeeper.shared;
 
import java.util.concurrent.TimeUnit;
 
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.recipes.locks.InterProcessSemaphoreMutex;
import org.bigmouth.common.zookeeper.config.ZooKeeperFactory;
 
 
public class LockStartup {
 
 public static void main(String[] args) throws Exception { CuratorFramework client = ZooKeeperFactory.get(); // ZooKeeperFactory 在上一篇文章《ZooKeeper 学习笔记—配置管理》中有
 final InterProcessSemaphoreMutex processSemaphoreMutex = new InterProcessSemaphoreMutex(client,  /lock 
 printProcess(processSemaphoreMutex);
 
 System.out.println( Starting get lock... 
 boolean flag = processSemaphoreMutex.acquire(12, TimeUnit.SECONDS);
 System.out.println(flag ?  Getting lock successful.  :  Getting failed! 
 
 printProcess(processSemaphoreMutex);
 
 Thread.sleep(20 * 1000);
 
 if (processSemaphoreMutex.isAcquiredInThisProcess()) { processSemaphoreMutex.release();
 }
 printProcess(processSemaphoreMutex);
 client.close();
 }
 
 private static void printProcess(final InterProcessSemaphoreMutex processSemaphoreMutex) {
 //  在本进程中锁是否激活(是否正在执行) System.out.println(isAcquiredInThisProcess:   + processSemaphoreMutex.isAcquiredInThisProcess());
 }
 
}

启动 LockStartup,得到如下结果:

接着再启动一个 LockStartup 实例,结果是无法获取到锁。程序还是会等待 12 秒,如果 12 秒后仍然无法获取到锁则结束:

如果我们把处理时间设置为 10 秒,等待时间为 12 秒。那么当第一个进程释放后,第二个进程将会获取到锁。

Thread.sleep(10 * 1000);

还有适合其他场景的共享锁就不一一做例子了,使用起来都类似。可以看下接口 org.apache.curator.framework.recipes.locks.InterProcessLock 的实现类。

到此,关于“ZooKeeper 共享锁怎么创建”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1978字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产午夜一级淫片 | 国产精品亚欧美一区二区三区 | 操日韩美女| 精品深夜av无码一区二区老年 | jizz日本护士 | 一级特黄一欧美俄罗斯毛片 | 无码aⅴ精品一区二区三区 无码aⅴ精品一区二区三区浪潮 | 亚洲精品一级一区二区三区 | 99综合在线| 国产艳福片内射视频播放 | 成人免费久久精品国产片久久影院 | 男女猛烈无遮挡免费视频 | 国产亚洲av无码av男人的天堂 | 亚洲伊人色欲综合网 | 成人一区二区免费视频 | 毛片免费全部完整播放 | 国产91精品一区二区麻豆网站 | 乱人伦中文视频在线 | 精品成人免费播放国产片 | 一区二区手机视频 | 欧美老妇疯狂xxxxbbbb | 亚洲欧美日韩精品久久 | 91精品酒店情侣在线播放 | 成人欧美视频在线观看播放 | 久久久久综合国产 | 韩国免费网站成人 | 性做爰片免费视频毛片中文ilo | 日本一卡2卡3卡四卡精品网站 | 男女性杂交内射妇女bbwxz | 最新中文无码字字幕在线 | 亚洲欧美日韩精品专区 | 一级α一级α片免费观看网站 | 国产suv精品一区二区6 | 老师的丰满大乳奶水视频 | 中文日韩字幕一区在线观看 | 久久久91 | 狠狠精品久久久无码中文字幕 | 国产精品日韩欧美 | 狠狠色成人综合网图片区 | 国产成人无精品久久久久国语 | 91香蕉国产在线观看人员 |