gpt4 book ai didi

java - Java中捕获异常的并发排序任务执行器

转载 作者:行者123 更新时间:2023-12-01 09:33:25 24 4
gpt4 key购买 nike

给定 N 个 Ni 元素列表,我需要为每个元素调用给定方法:

process(element);

按顺序处理每个列表的所有 Ni 元素,完成后,我必须知道哪些元素已被处理以及哪些元素引发了异常。

是否有任何已经实现的执行器可以获取任务列表,按顺序处理它们并跟踪失败?

最佳答案

简短的回答是否定的。

长答案:不,因为它可以通过不到 20 行代码轻松实现:

   public static void main(String[] args) {


List<Integer> elements = Arrays.asList(1, 2, 3, 5, 8, 13);
ExecutorService executor = Executors.newSingleThreadExecutor();

List<Future<Integer>> results = elements.stream().map((e) -> {

return executor.submit(() -> {
// Fail for even numbers
if (e % 2 == 0) {
throw new RuntimeException();
}

return e;
});

}).collect(Collectors.toList());

results.forEach((e) -> {
try {
System.out.println(e.get());
} catch (InterruptedException | ExecutionException e1) {
System.out.println(false);
}
});
}

将输出:

1
false
3
5
false
13

关于java - Java中捕获异常的并发排序任务执行器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39211096/

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