1、Fork/Join框架
1.1 基本思想:
有点像大数据里边的map/reduce。
1.2、工作窃取
想法有点像负载均衡。
为了充分利用线程进行并行计算,线程从双端队列的头部取出任务执行,然后先完成任务的线程会从其他线程队列的尾部窃取任务执行。
1.3、Fork-Join的用法
任务:从1加到10_0000_0000
//测试类
public static void test2() throws ExecutionException, InterruptedException {
long start = System.currentTimeMillis();
//第一步:new一个线程池
ForkJoinPool forkJoinPool = new ForkJoinPool();
//第二步:建立一个forkJoin任务
ForkJoinTask<Long> task = new ForkJoin(0L,10_0000_0000L);
//第三步:提交任务
ForkJoinTask