首先新建一个springboot项目,新建一个controller
@RestController
public class DeadLockController {
private Object lock1 = new Object();
private Object lock2 = new Object();
@GetMapping("/deadlock")
public String deadLock() {
new Thread(() -> {
synchronized (lock1) {
try {
Thread.sleep(1000);
} catch (Exception e) {
}
synchronized (lock2) {
System.out.println("Thread1 over");
}
}
}).start();
new Thread(() -> {
synchronized (lock2) {
try {
Thread.sleep(1000);
} catch (Exception e) {
}
synchronized (lock1) {
System.out.println("Thread2 over");
}
}
}).start();
return "deadlock";
}