package demo.one;
public class DeadLockTest extends Thread {
private boolean flag = true;
Object lockA = new Object();
Object lockB = new Object();
public DeadLockTest(Boolean flag) {
this.flag = flag;
}
public void run() {
if (flag) {
synchronized (lockA) {
System.out.println(" if lockA");
synchronized (lockB) {
System.out.println(" if lockB");
}
}
} else {
synchronized (lockB) {
System.out.println(" else lockB");
synchronized (lockA) {
System.out.println(" else lockA");
}
}
}
}
public static void main(String[] args) {
DeadLockTest d1 = new DeadLockTest(true);
DeadLockTest d2 = new DeadLockTest(false);
d1.start();
d2.start();
}
}