怎么让futures.forEach(CompletableFuture :: join)并行运行所有任务?
来源:爱站网时间:2021-11-29编辑:网友分享
怎么让futures.forEach(CompletableFuture :: join)并行运行所有任务?本来这一种方法,爱站技术小编已经掌握。但是没有总结,今天朋友突然问题,小编竟然想不起来,找了半天,现在亡羊补牢,赶快写在博客里。希望这篇文章能帮助到大家。
问题描述
我有多个可完成的期货创建为:
CompletableFuture future1 = CompletableFuture.runAsync(() -> xxx);
CompletableFuture future2 = CompletableFuture.runAsync(() -> xxx);
List> futures = Lists.newArrayList(future1, future2);
当我在下面跑步时,这两个将来的任务会同时运行吗?一个将来抛出的异常会阻止另一个吗?
futures.forEach(CompletableFuture::join);
思路:
通过调用CompletableFuture.runAsync(...)
,任务将提交到CompletableFuture.runAsync(...)
。该池由JVM管理。
以上内容就是爱站技术频道小编为大家分享的怎么让futures.forEach(CompletableFuture :: join)并行运行所有任务?看完以上分享之后,大家应该都知道怎么操作了吧。