由于未知原因,我无法从 Intellij IDEA评估表达式窗口中获得正确的 currentThread()。isInterrupted()值。
这是一个小代码段,将帮助您重现相同的行为:
public class IsInterruptedTest {
public static void main(String[] args) {
Thread.currentThread().interrupt();
System.out.println(Thread.currentThread().isInterrupted());
}
}
要重现它,请执行以下步骤:
System.out.println(Thread.currentThread().isInterrupted());
设置一个断点Thread.currentThread().isInterrupted();
。 (对我来说,此调用返回假值)因此,我的问题是-为什么这两个值不同?
这是由于调试器正在挂起当前线程而发生的吗?如果是这样,是否有任何方法可以从IDE中的评估表达式窗口中获取正确的
isInterrupted()
调用值? 最佳答案
这是一个已知且尚未修复的错误:https://youtrack.jetbrains.com/issue/IDEA-169706