gpt4 book ai didi

java - 如何并行运行任务并在第一个任务失败时等待第二个任务,否则回复并让第二个任务运行

转载 作者:行者123 更新时间:2023-12-01 18:09:55 26 4
gpt4 key购买 nike

我有一个情况。

我正在创建一个 REST API,它将并行执行两个任务。如果第一个任务执行成功,则无需等待第二个任务并向调用者回复 200。但如果第一个任务失败,需要等待第二个任务,并且响应将依赖于第二个任务。

有人可以建议用 java 实现这一点的最佳方法吗?

最佳答案

如果您想要并行任务,您可以使用Future 。他们为您提供了取消方法,如果您愿意,您可以等待结果。

考虑这个简单的任务:

class MyTask implements Callable<String> {
private mStr;
MyTask(String str) {
mStr = str;
}

@Override
public String call() {
return mStr;
}
}

还有用法:

ExecutorService executor = Executors.newFixedThreadPool(2);
Future<String> task1 = executor.submit(new MyTask("My first parallel task"));
Future<String> task2 = executor.submit(new MyTask("My second parallel task"));

try {
String result = task1.get();
String result2 = task2.get();
} catch(ExecutionException ex) {
System.out.println("Something went wrong when executing parallel tasks :" + ex);
}

关于java - 如何并行运行任务并在第一个任务失败时等待第二个任务,否则回复并让第二个任务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60485963/

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