你能看一下照片吗?现在,在A步骤之前,我执行了this.interrupt()。您可以看到this.isInterrupted()为假。我正在仔细检查-“此”没有更改。它具有相同的ID(12)。那么,为什么没有interrupt()方法的结果呢?
稍后添加。代码为文本:
@Override
protected void letUsFinalise() {
this.interrupt();
}
最佳答案
interrupted()
的javadoc说:
测试当前线程是否已被中断。通过此方法可以清除线程的中断状态。换句话说,如果要连续两次调用此方法,则第二次调用将返回false
(强调我的)
顺便说一句,interrupted()
是静态方法。应该在Thread类上而不是在this
中调用它。考虑到它有副作用,您应该在调试器中为此创建一个监视。观看isInterruped()
。
关于java - 如何使interrupt()工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22583540/