Java线程死锁的简单例子

来源:互联网 发布:数据统计专业 编辑:程序博客网 时间:2024/06/05 18:19
/** * DeadLockDemo * * @author panjn * @date 2017/4/1 */public class DeadLockDemo {    private static String A="A";    private static String B="B";    private void deadLock() {        Thread t1 = new Thread(new Runnable() {            @Override            public void run() {                synchronized (A) {                    try {                        Thread.sleep(2000);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    synchronized (B) {                        System.out.println("1");                    }                }            }        });        Thread t2 = new Thread(new Runnable() {            @Override            public void run() {                synchronized (B) {                    try {                        Thread.sleep(2000);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    synchronized (A) {                        System.out.println("2");                    }                }            }        });        t1.start();        t2.start();    }    public static void main(String[] args) {        new DeadLockDemo().deadLock();    }}
0 0
原创粉丝点击