视频中
165、缓存-分布式锁-Redisson-信号量测试 和 164、缓存-分布式锁-Redisson-闭锁测试 放反了,
先看 缓存-分布式锁-Redisson-信号量测试
/**
* 信号量测试
*
* 车库停车
* 3车位
*
* 信号量也可以用作分布式限流
*/
@GetMapping("/park")
@ResponseBody
public String park() throws InterruptedException {
RSemaphore park = redisson.getSemaphore("park");
// park.acquire(); // 获取一个信号,获取一个值,占一个车位
boolean b = park.tryAcquire();
if(b){
// 执行业务
}else{
return "error";
}
return "ok";
}
@GetMapping("/go")
@ResponseBody
public String go() throws InterruptedException {
RSemaphore park = redisson.getSemaphore("park");
park.release(); //释放一个车位
return "ok";
}