对于简单的并行任务,你可以通过“线程池 + Future”的方案来解决;如果任务之间有聚合关系,无论是 AND 聚合还是 OR 聚合,都可以通过 CompletableFuture 来解决;而批量的并行任务,则可以通过 CompletionService 来解决。
ForkJoinPool
ForkJoinPool 是 Java 7 引入的一种线程池,专为分治任务(Divide-and-Conquer) 设计,核心思想是将大任务拆分为多个小任务(Fork),并行执行后合并结果(Join)。它在处理可分解的复杂任务时效率显著,尤其适合计算密集型场景。
2020/7/14大约 19 分钟