public class DeaLock {
private static String a="1";
private static String b="2";
public static void MeathA(){
synchronized (a) {
System.out.println("我是A方法中获得到了A锁");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (b) {
System.out.println("我是A方法中获得到了B锁");
}
}
}
public static void MeathB(){
synchronized (b) {
System.out.println("我是b方法中获得到了b锁");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (a) {
System.out.println("我是A方法中获得到了a锁");
}
}
}
测试类
DeaLock d=new DeaLock();
new Thread(() -> {
d.MeathA();
}).start();
new Thread(() -> {
d.MeathB();
}).start();