public class Deadlock {
public static void main(String[] args) {
String a = "lockA";
String b = "lockB";
new Thread(new Mythread(a,b),"t1").start();
new Thread(new Mythread(b,a),"t2").start();
}
}
class Mythread implements Runnable{
private String a;
private String b;
public Mythread(String a, String b){
this.a = a;
this.b = b;
}
@Override
public void run() {
this.a = a;
this.b = b;
synchronized (a){
System.out.println("have "+a+ " lock"+" get "+ b+ " lock");
synchronized (b){
}
}
}
}

京公网安备 11010502036488号