您现在的位置是:主页 > news > 坪山网站建设哪家公司靠谱/百度关键词指数查询工具

坪山网站建设哪家公司靠谱/百度关键词指数查询工具

admin2025/6/8 11:23:57news

简介坪山网站建设哪家公司靠谱,百度关键词指数查询工具,广东省自然资源厅邮箱,wordpress的mip改造文章预览前言例子前言 什么是Fork/Join框架?   Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情: 1.…

坪山网站建设哪家公司靠谱,百度关键词指数查询工具,广东省自然资源厅邮箱,wordpress的mip改造文章预览前言例子前言 什么是Fork/Join框架?   Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情: 1.…

文章预览

    • 前言
    • 例子

前言

什么是Fork/Join框架?
  Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情:

1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割

2.执行任务并合并结果:分割的子任务分别放到双端队列里,然后几个启动线程分别从双端队列里获取任务执行。子任务执行完的结果都放在另外一个队列里,启动一个线程从队列里取数据,然后合并这些数据。
采用的分治思想
在这里插入图片描述

例子

从0加到100,当两个数差值不大于10时进行累加

package com.juc;import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.ForkJoinTask;
import java.util.concurrent.RecursiveTask;/*** @author niuben*/
class MyTask extends RecursiveTask<Integer>{//拆分差值不超过10private static final Integer VALUE = 10;private int begin;  //拆分开始值private int end;   //拆分结束值private int result;   //结果//有参构造public MyTask(int begin,int end){this.begin = begin;this.end = end;}//拆分和合并的过程@Overrideprotected Integer compute() {//判断差值是否大于10,大于10继续拆,小于10就进行累加if((end - begin) <= VALUE){//相加操作for (int i = begin; i <= end; i++){result = result + i;}}else{   //继续拆分//获取中间值int middle = (begin+end)/2;//拆左边MyTask task01 = new MyTask(begin,middle);//拆右边MyTask task02 = new MyTask(middle+1,end);//调用拆分方法task01.fork();task02.fork();//合并结果result = task01.join()+task02.join();}return result;}
}
public class forkjoin {public static void main(String[] args) throws ExecutionException, InterruptedException {MyTask myTask = new MyTask(0,100);//创建分支合并的对象ForkJoinPool forkJoinPool = new ForkJoinPool();ForkJoinTask<Integer> forkJoinTask = forkJoinPool.submit(myTask);//获取结果Integer result = forkJoinTask.get();System.out.println("结果为:"+result);//关闭池对象forkJoinPool.shutdown();}}

运行效果
在这里插入图片描述