gpt4 book ai didi

java - 如何使用ExecutorService获取所有提交任务的结果?

转载 作者:行者123 更新时间:2023-12-02 11:39:46 25 4
gpt4 key购买 nike

我有一个要求,我必须为 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() 吗?中断/不完整线程的结果怎么样?我对这部分感到困惑。如果线程失败,我想将其状态字段标记为失败,如果线程成功,我想将它们标记为成功。

最佳答案

您可以仅使用 ExecutorService 中的 invokeAll 并指定超时 - API

关于java - 如何使用ExecutorService获取所有提交任务的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com