java - 我怎样才能让interrupt()工作?

标签 java multithreading

你能看一下照片吗?现在,一步前我执行了 this.interrupt()。您可以看到 this.isInterrupted() 为 false。我仔细观察——“这个”没有改变。它具有相同的 ID (12)。那么,为什么interrupt()方法没有结果呢?

enter image description here

稍后添加。代码为文本:

@Override
protected void letUsFinalise() {
    this.interrupt();
}

最佳答案

interrupted() 的 javadoc 说:

Tests whether the current thread has been interrupted. The interrupted status of the thread is cleared by this method. In other words, if this method were to be called twice in succession, the second call would return false

(强调我的)

顺便说一句,interrupted() 是一个静态方法。它应该在 Thread 类上调用,而不是在 this 中调用。鉴于它有副作用,您应该在调试器中为其创建一个监视。请观看 isInterruped()

关于java - 我怎样才能让interrupt()工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583540/

相关文章:

java - 将字节数组转换为 List<Byte>

java - 事件处理 Swing 组件

java - 如何告知 JList cellrenderer JList 突然发生变化?

c# - 将图像异步加载到网格中

java - 线程化 TCP 服务器 - 试图维护用户存储库的数据一致性

java - 如何在 IzPack 的用户输入文件字段上设置字体颜色?

java - 如何更改jtable的绑定(bind)属性列名?

c# - "relevant"是XmlWriterTraceListener的非线程安全性如何?

Java多线程 vector 加法

c# - 提高 .NET 中多线程 HttpWebRequests 的性能