美文网首页
死锁代码

死锁代码

作者: 编程小王子AAA | 来源:发表于2020-07-19 22:01 被阅读0次
    Object obj1 = new Object();
    Object obj2 = new Object();
    // 线程 1 拥有对象 1,想要等待获取对象 2
    new Thread() {
        @Override
        public void run() {
            synchronized (obj1) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (obj2) {
                    System.out.println(Thread.currentThread().getName());
                }
            }
        }
    }.start();
    // 线程 2 拥有对象 2,想要等待获取对象 1
    new Thread() {
        @Override
        public void run() {
            synchronized (obj2) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (obj1) {
                    System.out.println(Thread.currentThread().getName());
                }
            }
        }
    }.start();
    

    相关文章

      网友评论

          本文标题:死锁代码

          本文链接:https://www.haomeiwen.com/subject/vttdkktx.html