一个线程死锁的例子

来源:互联网 发布:炫知传播力分析系统 编辑:程序博客网 时间:2024/05/18 05:34
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();            }        }    }}
原创粉丝点击