当前位置: 首页 > 知识库问答 >
问题:

为什么被打断和被打断的行为方式有区别?

史昊焱
2023-03-14

我不明白的是,为什么这种行为一直如此?interrupted重置当前线程的状态,而isinterrupted不重置它所调用的线程的状态,这有什么原因吗?

共有1个答案

陆畅
2023-03-14

thread.interrupted仅适用于当前线程;这是一种静态方法。

new Thread(() -> {
    while (true) {
        if (Thread.interrupted()) {
            break;
        }
        System.out.println("Running");
    }
});

清除标志很方便,因为执行检查的线程预计会对中断做出反应并以某种方式处理它。如果您想再次重置标志,这很简单:只需调用interrupt

isinterrupted不是静态方法。它被设计成可能被其他线程调用。

Thread foo = new Thread(/*...*/);
foo.start();

//...

if (foo.isInterrupted()) 
{
   //do something
}
 类似资料:
  • 我刚刚安装了Xcode 8,我使用NSLogs来查看我的服务器响应和其他验证。< br >但是,我的NSLogs和我的服务器响应(在JSON中)被切断。有什么想法吗?< br >我正在使用objective-c并在真实设备上运行我的应用程序。

  • 我刚刚进入Python,并一直在使用tkinter来设计图形用户界面,到目前为止这很有趣。我一直在实验框架,我试图将屏幕分成3个“窗格”,如果你愿意的话。由于某种原因,即使组合宽度小于总宽度,它仍然延伸超过屏幕的边界。 对我来说,我不明白为什么紫色的框架在右边被切断了。 我有点怀疑我使用padx和pady的次数。我也很好奇它是否与grid_propagate或pack_propagate有关,这就

  • 基本上,这就是我正在做的 1) 将AlarmManager设置为执行广播接收器(BCR) 2) 从BCR启动MyActivity 3)如果我的活动没有打开,请打开屏幕 出于某种原因,我注意到当MyActivity打开时,它的流程如下所示: onCreate/onNewIntent- 我不知道为什么它会马上暂停。我注意到这只发生在屏幕被标志打开时。有人知道为什么会这样吗?有什么办法可以防止这种行为吗

  • 我是一个我无法控制的SOAP服务的客户机(在.NET中实现)。该服务提供一个WSDL。我使用Apache CXF从WSDL生成java客户机(具体地说,我使用Maven的cxf-codegen-plugin,它在底层使用wsdl2java)。 但是,当我实例化生成的服务类时,会记录以下警告: 错误是关于WSDL中的这个安全策略,我认为它说它不能理解: 然而,就我所知,这是一个非常普通的政策,没有什

  • 问题内容: 我正在使用具有“很高”的xlabel的位置绘制数据集(这是在TeX中渲染的公式,其中包含一个分数,因此其高度等于几行文本)。 无论如何,当我绘制数字时,公式的底部总是被切除。更改图形大小似乎无济于事,而且我还无法弄清楚如何将x轴“向上”移动以为xlabel腾出空间。诸如此类的东西将是一个合理的临时解决方案,但最好的办法是使matplotlib自动识别标签被切断并相应调整大小。 这是我的

  • 如标题所示,我们的网络服务器经常向用户返回pdf报告。当他们查看pdf报表时,他们通常使用Chrome中的Ctrl P来打印它。 问题是当用chrome打印pdf时,它总是切断pdf页面的页眉和页脚(~0.45厘米或0.1771654英寸)。 你们可以在这篇文章的底部看到这张图片,当我们按下“打印”按钮时,两个红色矩形中的所有内容都将丢失(尽管它在打印预览中显示良好)。 我搜索了关键字"Chrom