java - 恢复中断的线程

标签 java multithreading

我想恢复中断线程的工作,请让我知道一些可能的解决方案。

class RunnableDemo implements Runnable 
{

   public void run() 
   {
    while(thread.isInterrupted())
        {
        try{}
                catch(Exception e){ //exception caught}
        }

   }

}

如果异常被捕获,线程被中断,但即使异常被捕获,我希望线程继续它的工作,所以请给我一些解决这个问题的方法。

提前致谢

最佳答案

线程中断是您在编写线程时选择遵守的。因此,如果您不希望您的线程被中断,请不要检查中断状态并继续。

您唯一需要 try/catch 语句(关于线程中断)是在调用抛出 InterruptedException 的阻塞方法时。然后,您需要避免让该异常停止线程的工作。

当然......你应该考虑一下这是否是一种合适的行为方式。线程中断是一件很有帮助的事情,选择不遵守它可能会让您的代码用户感到厌烦。

关于java - 恢复中断的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937592/

相关文章:

macos - java 小程序在 JRE 1.6.0_29 及更高版本中未获取焦点 (OS X)

java - 根据位置条件创建Adapter

c# - Thread.Join 在多个线程上超时

swift - 为什么在 Mac OS 控制台应用程序中对 runloop.run 的调用方法会创建额外的线程?

android - SoundPool play()... 在线程或主 UI 线程中更好?

multithreading - 在请求之间共享应用程序线程池

java - 带有 Sprite 表的 ArrayIndexOutOfBoundsException

java - Spring 启动 : @RequestParam in controller reads the request with '&' and '#' as empty

java - 从 jdk 8 迁移到 jdk 11 cxf 生成源未知导入

c++ - 在 C++ 中运行用于输出的辅助线程