黑马博学谷人工智能与数据挖掘
Fork/Join 框架 => 分而治之的实例
// ForkJoinPool 解决数组求和public class ArraySumForForkJoinPool {
public static int sumParallel(int[] array) throws ExecutionException, InterruptedException {
ForkJoinPool pool = new ForkJoinPool();
return pool.submit(new SubArraySum(array, 0, array.length - 1)).get();
}
public static void main(String[] args) throws ExecutionException, InterruptedException {
System.out.println(sumParallel(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}));
}}class SubArraySum extends RecursiveTask<Integer> {
private final int[] array;
private final int start;
private final int end;
public SubArraySum(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}