public class DeadThread {
A a = new A();
B b = new B();
public DeadThread() {
a.start();
b.start();
}
public static void main(String[] args) {
new DeadThread();
}
class A extends Thread {
@Override
public void run() {
getKZ();
}
public synchronized void getKZ() {
try {
System.out.println("我有筷子,我想要勺子");
Thread.sleep(1000);
b.getSZ();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class B extends Thread {
@Override
public void run() {
getSZ();
}
public synchronized void getSZ() {
try {
System.out.println("我有勺子,我想要筷子");
Thread.sleep(1000);
a.getKZ();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
一个线程死锁的例子
最新推荐文章于 2021-11-14 22:54:40 发布