栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

此Java代码如何产生死锁?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

此Java代码如何产生死锁?

如果在打印第一行之后并在调用bowBack之前放置Thread.sleep(1000),则应该看到死锁。无论如何,这种僵局都会发生,这是很少见的。

您有两个线程,要获取的两个锁的顺序不同。这可能会使每个线程都持有一个锁,但无法获得第二个锁。即僵局。

注意:线程需要很长时间才能启动,这意味着第一个线程可以在第二个线程启动之前运行完成,因此不太可能看到问题。


这是给您的难题。这就造成了僵局,你明白为什么吗?

class A {    static final int i;    static {        i = 128;        Thread t = new Thread() { public void run() {     System.out.println("i=" + i); }        };        t.start();        try {t.join();        } catch (InterruptedException e) {Thread.currentThread().interrupt();        }    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号