package 多线程;
/**
* 实现死锁
* */
public class deadLock implements Runnable {
String name;
Object a;
Object b;
public deadLock(String name,Object a,Object b){
this.name = name;
this.a = a;
this.b = b;
}
@Override
public void run() {
if(name.equals("A")){
synchronized (a){
System.out.println(name+" lock: "+"a");
try {
Thread.sleep(100);//模拟A做一些事
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name+" try lock "+"b");
synchronized (b){
System.out.println(name+" lock: "+"b");
b.notifyAll();
}
a.notifyAll();
}
}
if(name.equals("B")){
synchronized (b){
Java实现一个简单的死锁及解决方案
最新推荐文章于 2023-08-12 06:46:56 发布