java currenthread_java-Intellij IDEA评估表达式窗口和Thread.curren...

由于未知原因,我无法从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();从“评估表达式”窗口(Alt F8). (对我来说,此调用返回假值)

>恢复程序执行,完成后-检查控制台中打印的值. (对我来说,这里印有true)

所以,我的问题是-为什么这两个值不同?

这是由于调试器正在挂起当前线程而发生的吗?如果是这样,是否有任何方法可以从IDE中的“评估表达式”窗口中获取isInterrupted()调用的正确值?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值