Eclipse 3.7.2在Solaris11 X86中有错误-它的主线程随机进入睡眠状态,永远不会从睡眠状态中唤醒。我希望中断休眠,以便主线程继续运行。有可能吗?
更多详细信息请访问:Eclipse hangs forever, thread dump says main thread is sleeping
发布于 2012-09-01 09:15:29
我不认为中断正在运行您没有编写的代码的线程是一个好主意--您可能会导致死锁、损坏数据结构等,或者这可能是良性的。但那是你的风险。
是的,你可以做你想做的事情。如果您可以在该应用程序中运行一些自己的代码,那么您可以监视这些线程,直到您看到一个具有特定名称且长时间处于休眠状态的线程,并使用以下命令很容易地中断它:
Thread.enumerate()
Thread.getName()
Thread.interrupt()要让您的代码与程序的其余部分同时运行,您可以修改启动器:修改类路径,使用main方法创建一个类,该方法启动您自己的监视线程,然后调用真正的main方法。
或者,您可以将监视线程编写为Java agent,并使用"-javaagent“开关。有关详细信息,请参阅http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html。
发布于 2012-09-01 10:55:25
在Eclipse的情况下,您可以通过>>DO<<访问代码...因为Eclipse是开源的。
下载代码,修改它(例如,实现一个看门狗)并重新构建它可能会更好/更干净/更简单。
您可能还应该将此报告为Eclipse错误。
https://stackoverflow.com/questions/12224077
复制相似问题