package com.infinitus.dmm.physical.service.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.concurrent.locks.ReentrantLock;
@RestController
public class Test {
private final ReentrantLock lock = new ReentrantLock();
@GetMapping("/test")
public String a() throws InterruptedException {
if (lock.tryLock()) {
try {
System.out.println("获取锁成功");
System.out.println("模拟业务执行时间");
Thread.sleep(100000);
return ("获取锁成功");
} finally {
System.out.println("解锁");
lock.unlock();
}
} else {
System.out.println("获取锁失败");
return ("获取锁失败");
}
}
}