package DeadLock;
public class DeadLock{
private static Object A = new Object(), B = new Object();
public static void main(String[] args) {
new Thread(() -> {
System.out.println("Thread1 start running...");
synchronized (A){
try {
System.out.println("Thread1 get lockA");
Thread.sleep(2000);
}catch (Exception e){
e.printStackTrace();
}
synchronized (B){
System.out.println("Thread1 get lockB");
}
}
}).start();
new Thread(() -> {
System.out.println("Thread2 start running...");
synchronized (B){
try {
System.out.println("Thread2 get lockB");
Thread.sleep(2000);
}catch (Exception e){
e.printStackTrace();
}
synchronized (A){
System.out.println("Thread2 get lockA");
}
}
}).start();
}
}