1. 程式人生 > >Java併發程式設計(07):Fork/Join框架機制詳解

Java併發程式設計(07):Fork/Join框架機制詳解

本文原始碼:[GitHub·點這裡](https://github.com/cicadasmile/java-base-parent) || [GitEE·點這裡](https://gitee.com/cicadasmile/java-base-parent) # 一、Fork/Join框架 Java提供Fork/Join框架用於並行執行任務,核心的思想就是將一個大任務切分成多個小任務,然後彙總每個小任務的執行結果得到這個大任務的最終結果。 這種機制策略在分散式資料庫中非常常見,資料分佈在不同的資料庫的副本中,在執行查詢時,每個服務都要跑查詢任務,最後在一個服務上做資料合併,或者提供一箇中間引擎層,用來彙總資料: ![](https://img2020.cnblogs.com/blog/1691717/202008/1691717-20200816143833166-2054158430.png) 核心流程:切分任務,模組任務非同步執行,單任務結果合併;在程式設計裡面,通用的程式碼不多,但是通用的思想卻隨處可見。 # 二、核心API和方法 ## 1、編碼案例 基於1+2..+100的計算案例演示Fork/Join框架基礎用法。 ```java import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java.util.concurrent.RecursiveTask; public class ForkJoin01 { public static void main (String[] args) { int[] numArr = new int[100]; for (int i = 0; i < 100; i++) { numArr[i] = i + 1; } ForkJoinPool pool = new ForkJoinPool(); Fork