首页 > 编程语言 > 详细

java成神之——Fork/Join基本使用

时间:2018-10-07 16:22:01      阅读:160      评论:0      收藏:0      [点我收藏+]

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成神的系列文章之一

如果你想知道,但是本文没有的,请下方留言

我会第一时间总结出来并发布填充到本文

java成神之——Fork/Join基本使用

原文:https://www.cnblogs.com/ye-hcj/p/9750377.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!