乐观锁与悲观锁-Redisson-锁止
原创闭锁(CountDownLatch):当要完成某些操作时,在其他线程的所有操作完成之前,当前操作不会继续。
@GetMapping("/lockdoor")
@ResponseBody
public String lockDoor() throws InterruptedException {
RCountDownLatch door = redisson.getCountDownLatch("door");
door.trySetCount(5);//设置计数5个
door.await();//5只有在我们走完之后,我们才会继续往下走。
return "都走完了";
}
@GetMapping("/gogogo/{id}")
@ResponseBody
public String gogogo(@PathVariable int id){
RCountDownLatch door = redisson.getCountDownLatch("door");
door.countDown();//每次执行,锁定-1(redis中的door去-1)
return id+"号走了";
}
总结:countDown()调用5次后,await只有这样,它才不会阻塞,而且会继续下降。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除