如果线程出现故障,函数必须返回true

问题描述:

我有一个函数可以完成一些工作,如果失败或者有异常,它将返回true。 现在我在这个函数中创建一个线程,负责完成相同的工作。现在,如果在线程执行此任务时抛出一些异常,我该如何让函数返回true?如果线程出现故障,函数必须返回true

boolean read(){ 
     service.execute(new Runnable() { 
      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       //does the required work. 
     }); 
    } 
+0

请标记编程语言 –

可以通过提供逻辑实现这一个新的线程在Callable而不是Runnable形式执行。与Runnable不同,Callable允许您将一些结果返回给以Future的形式调用它的代码。

boolean read() { 
    Future<Boolean> future = service.submit(() -> { 
     // Do your calculations and return whatever is required 
     return true; 
    }); 

    // future.get() blocks current thread execution until Callable returns the result 
    return future.get(); 
} 

我也建议阅读ThreadPoolExecutor + Callable + Future Example文章和Javadoc CallableFutureExecutorService类。