生活生产服务其它并发编程

如何避免线程死锁?

如何避免线程死锁呢?有什么方法吗?显示全部

如何避免线程死锁呢?有什么方法吗?

收起
参与22

查看其它 3 个回答zhuqibs的回答

zhuqibszhuqibs  软件开发工程师 , Adidas

现在,面试官来到最后一部分,也是最重要的问题之一,在我看来:你如何修复代码中的死锁?如果您仔细查看了上面的代码,那么您可能已经发现死锁的真正原因不是多线程,而是它们请求锁定的方式。 如果您提供有序访问,则问题将得到解决。

现在,不存在任何死锁,因为两个方法都以相同的顺序访问Integer和String类文本的锁。 因此,如果线程A获取Integer对象的锁定,则线程B将不会继续,直到线程A释放整数锁定;即使线程B持有字符串锁,也不会阻塞线程A,因为现在,线程B不会期望线程A释放整数锁以继续进行。

互联网服务 · 2020-04-30
浏览833

回答者

zhuqibs
软件开发工程师Adidas
擅长领域: 云计算服务器存储

zhuqibs 最近回答过的问题

回答状态

  • 发布时间:2020-04-30
  • 关注会员:5 人
  • 回答浏览:833
  • X社区推广