我有一个长时间运行的过程,由于错误,一个琐碎/可消耗的线程与我想继续的线程死锁,以便它可以执行一些难以以另一种方式重现的最终报告。
当然,为以后的运行修复错误是正确的最终解决方案。当然,任何线程的任何此类强制中断/终止/停止本质上都是不安全的,并且可能导致其他不可预知的不一致。(我熟悉所有标准警告及其原因。)
但是,由于唯一的选择是终止 JVM 进程并经历一个更冗长的过程,这将导致最终报告不太完整,因此混乱/弃用/危险/有风险/一次性技术正是我想要的尝试。
JVM 是 Ubuntu 上 Sun 的 1.6.0_16 64 位,消耗线程正在等待锁定对象监视器。
定向到确切线程的 OS 信号能否在可消耗线程中创建 InterruptedException?
附加gdb,直接篡改JVM数据或调用JVM过程,是否可以强制释放消耗线程持有的对象监视器?
Thread.interrupt()
来自另一个线程的 a会InterruptedException
从等待锁定帧中生成 a 吗?(通过一些努力,我可以将任意 beanshell 脚本注入到正在运行的系统中。)
Thread.stop()
是否可以通过 JMX 或任何其他远程注入方法发送已弃用的?
任何想法表示赞赏,越“危险”越好!而且,如果您的建议在类似情况下的个人经验中起作用,那就最好了!