【青鸟飞扬教育】Fork-Join
2025-05-21
Fork-Join 框架是 Doug Lea 大神在 JDK7 引入的。Fork 就是把大问题拆分成小问题,也就是大任务拆成多个子任务,并行执行子任务。Join 就是把任务的结果按顺序合并起来。
假设我们需要求️从 1-1 亿之间的数字和,按照Fork-Join的思想,可分为以下三步:
Step1.定义拆分子任务和合并子任务的规则
划分子任务的规则
首先将任务拆为 1-5 千万 和 5 千万 01 - 1 亿两个子任务,直到每个子任务计算的数字范围在 1 万以内的时候,我们才计算这个任务的和。
合并子任务的规则
同一父任务的所有子任务的结果再相加,就是这一父任务的结果。
Step2.充分利用计算机资源,最大并行的执行子任务
Step3.充分利用计算机资源,执行合并所有子任务,获得最终的结果
显然一般人做不了后两步,我们只需要把 ️怎么拆,怎么和 告诉 Fork-Join 框架,️Fork-Join 框架就帮我们做好 如何最大并行执行子任务 和 如何最有效合并子任务。