【发布时间】:2010-09-17 10:53:59
【问题描述】:
我有一个多线程应用程序。有几条消息到达应用程序并在单独的线程中处理。为此,我使用 java.util.concurrent 包中的 ThreadPoolExecutor 和 FutureTask 类。
有时我的应用程序会出现一些死锁。当发生死锁时,我想中断阻塞线程并记录该线程的堆栈跟踪,以便稍后解决死锁。
有什么方法可以在 Java 中找到该线程之外的线程的堆栈跟踪?
【问题讨论】:
-
您的意思是要检测死锁并恢复?从来没有这样做过,但是使用堆栈跟踪对我来说听起来不是正确的方法..
-
我需要堆栈跟踪,以便我知道线程卡在哪里并可以修复问题,以便应用程序在重新启动后正常工作。但是我想中断阻塞线程,以便应用程序工作,直到我找到一些时间来解决问题并释放它。
标签: java multithreading deadlock stack-trace