【Redisson starter】 闭锁 CountDownLatch
【Redisson starter】 闭锁 CountDownLatch
Metadata
title: 【Redisson starter】 闭锁 CountDownLatch
date: 2023-01-22 21:51
tags:
- 行动阶段/完成
- 主题场景/组件
- 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
- 细化主题/Module/Redisson
categories:
- Redisson
keywords:
- Redisson
description: 【Redisson starter】 闭锁 CountDownLatch 基于Redisson的Redisson分布式闭锁(CountDownLatch)Java对象RCountDownLatch采用了与java.util.concurrent.CountDownLatch相似的接口和用法。
【Redisson starter】 闭锁 CountDownLatch
基于Redisson的Redisson分布式闭锁(CountDownLatch)Java对象RCountDownLatch采用了与java.util.concurrent.CountDownLatch相似的接口和用法。
@Test
public void testCountDownLatch() throws InterruptedException {
RCountDownLatch latch = redissonTemplate.getCountDownLatch("testCountDownLatch");
latch.trySetCount(2);
new Thread(() ->{
log.info("这是一个服务的线程");
try {
TimeUnit.SECONDS.sleep(3);
log.info("线程:{},休眠结束",Thread.currentThread().getName());
latch.countDown();
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
new Thread(() ->{
log.info("这是另外一个服务的线程");
try {
TimeUnit.SECONDS.sleep(3);
log.info("线程:{},休眠结束",Thread.currentThread().getName());
latch.countDown();
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
latch.await();
log.info("子线程执行结束。。。。。。");
}
/**
* 闭锁
* @param countDownLatchName
* @return
*/
public RCountDownLatch getCountDownLatch(String countDownLatchName) {
return redissonClient.getCountDownLatch(countDownLatchName);
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蝶梦庄生!
评论