java - 停止并重新运行自身内部的线程

标签 java multithreading try-catch runnable

我在一个类中使用这样的可运行线程实现了一个线程:

static Runnable myThread = new Runnable() {
 public void run(){
  try{
  //do something forever 
  }catch(Exception e){
    //something happened. Re-run this thread
  }
 } 
}

即使发现异常,我也想继续运行这个线程。那么,我怎样才能在异常(exception)条款中做到这一点呢?有没有更优雅的解决方案?

最佳答案

使用循环:

static Runnable myThread = new Runnable() {
  public void run() {
    for (;;) {
      try {
        ...
      } catch(Exception e) {
        ...
      }
    }
  } 
}

无论您做什么,我都强烈建议您不要默默地忽略异常。如果没有更好的方法来处理异常,至少记录它。

关于java - 停止并重新运行自身内部的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418801/

相关文章:

javascript - 动臂-引发错误并以错误作为响应的差异

c - 操纵线程的 nice 值

java - try 和finally 中的返回语句

java - 从另一个 Java Lambda 调用 AWS JAVA LAMBDA 的问题

java - 尝试使用变量元素名称打印 XSLT 中的节点值

java - 无状态 EJB 在企业应用程序客户端中抛出 NullPointerException

java - Spring Boot 不提供 jar 内的静态文件

java - 套接字上的多线程客户端服务器聊天。负载测试。接收失败

multithreading - 我的应用程序需要使用 TCL 中的线程吗?

java - 尝试捕捉弹出消息