public class DeadLockDemo {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
synchronized ("a"){
System.out.println(Thread.currentThread().getName()+"get lock a");
synchronized ("b"){
System.out.println(Thread.currentThread().getName()+"get lock b");
}
System.out.println(Thread.currentThread().getName()+"free lock b");
}
System.out.println(Thread.currentThread().getName()+"free lock a");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
synchronized ("b"){
System.out.println(Thread.currentThread().getName()+"get lock b");
synchronized ("a"){
System.out.println(Thread.currentThread().getName()+"get lock a");
}
System.out.println(Thread.currentThread().getName()+"free lock a");
}
System.out.println(Thread.currentThread().getName()+"free lock b");
}
}).start();
}
}
Java多线程模拟死锁
最新推荐文章于 2023-01-10 15:39:47 发布