zoukankan      html  css  js  c++  java
  • java成神之——Fork/Join基本使用

    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成神的系列文章之一
    
    如果你想知道,但是本文没有的,请下方留言
    
    我会第一时间总结出来并发布填充到本文
    
  • 相关阅读:
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    建立索引该如何选取字段
  • 原文地址:https://www.cnblogs.com/ye-hcj/p/9750377.html
Copyright © 2011-2022 走看看