开发者社区 问答 正文

如何检测死锁情况?如何避免?

相信大家在写Java线程的时候都想避免这种情况,怎么做到呢?

展开
收起
YDYK 2020-04-24 16:09:46 478 分享 版权
1 条回答
写回答
取消 提交回答
  • 我们可以通过在cmd上运行代码并收集线程转储来检测死锁情况,如果代码中存在任何死锁,则将在cmd上显示一条消息。 避免Java中出现死锁情况的方法: 避免嵌套锁:嵌套锁是导致死锁的常见原因,因为当我们为各种线程提供锁时会发生死锁,因此在某个特定时间只应为一个线程提供一个锁。 避免不必要的锁:我们必须避免不必要的锁。 使用线程联接:线程联接有助于等待一个线程,直到另一个线程没有完成其执行,这样我们就可以通过最大程度地使用join方法避免死锁。

    2020-04-24 16:10:07
    赞同 展开评论
问答分类:
问答地址: