Fork/Join
大任务分小任务,小任务结果合并
ForkJoinPool pool = new ForkJoinPool();
RecursiveTask<Integer> task1 = new RecursiveTask<Integer>() {
@Override
public Integer compute() {
return 100 + 100;
}
};
RecursiveTask<Integer> task2 = new RecursiveTask<Integer>() {
@Override
public Integer compute() {
return 200 + 200;
}
};
ForkJoinTask<Integer> task = pool.submit(new RecursiveTask<Integer>() {
@Override
public Integer compute() {
task1.fork(); // 使用其他分支执行任务
task2.fork();
Integer task1Result = task2.join(); // 等待任务执行完成
Integer task2Result = task1.join();
return task1Result + task2Result;
}
});
task.join(); // 600
结语
本文章是java成神的系列文章之一
如果你想知道,但是本文没有的,请下方留言
我会第一时间总结出来并发布填充到本文