public class DeadLock {
public static String obj1 = "obj1";
public static String obj2 = "obj2";
public static void main(String[] args) {
Thread thread1 = new Thread(new Lock1());
Thread thread2 = new Thread(new Lock2());
thread1.start();
thread2.start();
}
}
class Lock1 implements Runnable{
@Override
public void run() {
try {
System.out.println("Lock1 runing!");
while (true){
synchronized(DeadLock.obj1){
System.out.println("Lock1 lock obj1");
Thread.sleep(3000);
synchronized (DeadLock.obj2){
System.out.println("Lock1 lock obj2");
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}</