如何在Java将来的中断时刻返回结果

如何在Java将来的中断时刻返回结果,java,concurrency,future,Java,Concurrency,Future,我有一个使用执行服务提交的任务列表。我使用有时间限制的线程执行,并在将来的对象中等待结果。但是现在我想在可调用线程被中断时收集结果。我有一个结果,但我无法执行future.get(),因为它已因超时而取消。如何将部分结果存储在future对象中?当有时间限制的线程被中断时,应该会出现异常 Future<String> future = executorService.submit(callableTask); String result = null; try { resul

我有一个使用执行服务提交的任务列表。我使用有时间限制的线程执行,并在将来的对象中等待结果。但是现在我想在可调用线程被中断时收集结果。我有一个结果,但我无法执行future.get(),因为它已因超时而取消。如何将部分结果存储在future对象中?

当有时间限制的线程被中断时,应该会出现异常

Future<String> future = executorService.submit(callableTask);
String result = null;
try {
    result = future.get();
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
}
Future=executorService.submit(callableTask);
字符串结果=null;
试一试{
结果=future.get();
}捕获(中断异常|执行异常e){
e、 printStackTrace();
}

是。同意,但当将来发生异常时,我应该如何获取结果。get()?