Redis闭锁CountDownLatch
Posted lovoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis闭锁CountDownLatch相关的知识,希望对你有一定的参考价值。
前言
闭锁简言之就是一个学校的人全部走完了,才关上大门。
在Redis框加提供的闭锁是CountDownLatch,它同步工具类,允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。
代码实例
@ResponseBody
@GetMapping("/lockDoor")
public String lockDoor() throws InterruptedException {
//获得锁
RCountDownLatch door = redissonClient.getCountDownLatch("door");
//添加记数器
door.trySetCount(5);
//等待
door.await();
return "全部走完了...";
}
@ResponseBody
@GetMapping("/go/{num}")
public String go(@PathVariable Integer num){
RCountDownLatch door = redissonClient.getCountDownLatch("door");
door.countDown();//计数减一
return num + "班的人走了...";
}
以上是关于Redis闭锁CountDownLatch的主要内容,如果未能解决你的问题,请参考以下文章
并发编程-AQS同步组件之CountDownLatch 闭锁