Java 为什么调用此.interrupt()后我得到了非法ThreadStateException?

Java 为什么调用此.interrupt()后我得到了非法ThreadStateException?,java,concurrency,interrupt,Java,Concurrency,Interrupt,我发现PUTTRINT语句抛出了一个IllegalThreadStateException,没有打印堆栈跟踪。我已经尝试过搜索关于Thread.interrupt()和IllegalThreadStateException的现有线程,但没有从中获得太多信息。如果有帮助的话,我正在使用CDLC1.1。非常感谢 CLDC1.1应该支持interrupt(),但CLDC1.0不支持。可能您的特定实现不想添加此支持,而是通过抛出运行时异常来伪造它。如果没有打印堆栈跟踪,听起来好像其他地方正在发生(并正在

我发现PUTTRINT语句抛出了一个
IllegalThreadStateException
,没有打印堆栈跟踪。我已经尝试过搜索关于Thread.interrupt()和IllegalThreadStateException的现有线程,但没有从中获得太多信息。如果有帮助的话,我正在使用CDLC1.1。非常感谢

CLDC1.1应该支持
interrupt()
,但CLDC1.0不支持。可能您的特定实现不想添加此支持,而是通过抛出运行时异常来伪造它。

如果没有打印堆栈跟踪,听起来好像其他地方正在发生(并正在处理)错误。您能否在调试器中逐步检查代码,并查看该中断是否触发另一个线程出现问题?它必须在执行
interrupt()
的过程中发生

在我们的IDE中,我会在该行上放置一个断点,点击F5进入方法调用,然后继续进入,直到发现问题。在此过程中,如果没有源代码,我会下载相关的源jar文件并将调试器指向它(这听起来很复杂,但只需要大约2分钟)

希望在某种程度上有所帮助


-Gmail

但我的肯定在CLDC 1.1之下。没错。
try {
    this.interrupt();
} catch (IllegalThreadStateException e) {
    e.printStackTrace();
}