我有一个要求,我必须为5个任务启动5个线程,并且任务完成的特定超时。超时后我想要所有任务的结果。我如何使用ExecutorService? 根据我所读到的关于ExecutorService的内容,我总结说我需要的是:
List<Future> futures = new ArrayList<Future>();
futures.addAll(executor.submit(new someCallable()));
try {
if (!executorService.awaitTermination(30*1000, TimeUnit.MILLISECONDS)) {
executorService.shutdownNow();
}
} catch (InterruptedException e) {
executorService.shutdownNow();
}
我应该future.get()
吗?中断/不完整线程的结果怎么样?我对这部分感到困惑。
如果线程失败,我想标记其状态字段=失败,如果线程成功,我想将它们标记为成功。