前言
我们都知道Fork/Join是一个分而治之的框架,Form通过把一个大任务分解为不同的小任务后进行并行计算,然后通过Join把各个小任务汇总到一个结果中进行返回。下面不多数了,直接上代码
一个基本的数组
package cn.enjoyedu.ch2.forkjoin.sum;
import java.util.Random;
public class MakeArray {
//数组长度
public static final int ARRAY_LENGTH = 40000000;
public final static int THRESHOLD = 47;
public static int[] makeArray() {
//new一个随机数发生器
Random r = new Random();
int[] result = new int[ARRAY_LENGTH];
for(int i=0;i<ARRAY_LENGTH;i++){
//用随机数填充数组
result[i] = r.nextInt(ARRAY_LENGTH*3);
}
return result;
}
}
单线程类SumNormal
通过main函数进行测试
package cn.enjoyedu.ch2.forkjoin.sum