一、Fork/Join介绍

Fork/Join框架是在JDK1.7版本中被Doug Lea引入的,Fork/Join计算模型旨在充分利用多核CPU的并行运算能力,将一个复杂的任务拆分(fork)成若干个并行计算,然后将结果合并(join)

“分而治之”(divide and conquer)是Fork/Join框架的核心思想,图5-4很好地诠释了这一工作过程。Forks通过递归的形式将任务拆分成较小的独立的子任务,直到它足够简单以至于可以在一个异步任务中完成为止;Join则通过递归的方式将所有子任务的若干结果合并成一个结果,或者在子任务不关心结果是否返回的情况下,Join将等待所有的子任务完成各自的异步任务后“合并计算结果”,然后逐层向上汇总,直到将最终结果返回给执行线程。
image.png