全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java通过Fork/Join优化并行计算

本文实例为大家分享了Java通过Fork/Join优化并行计算的具体代码,供大家参考,具体内容如下

Java代码:

package Threads;

import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.RecursiveAction;

/**
 * Created by Frank
 */
public class RecursiveActionDemo extends RecursiveAction {

  static int[] raw = {19, 3, 0, -1, 57, 24, 65, Integer.MAX_VALUE, 42, 0, 3, 5};
  static int[] sorted = null;
  int[] source;
  int[] dest;
  int length;
  int start;
  final static int THRESHOLD = 4;

  public static void main(String[] args) {
    sorted = new int[raw.length];

    ForkJoinPool pool = new ForkJoinPool();
    pool.invoke(new RecursiveActionDemo(raw, 0, raw.length, sorted));

    System.out.println('[');
    for (int i : sorted) {
      System.out.println(i + ",");
    }
    System.out.println(']');
  }

  public RecursiveActionDemo(int[] source, int start, int length, int[] dest) {
    this.source = source;
    this.dest = dest;
    this.length = length;
    this.start = start;
  }

  @Override
  protected void compute() {
    System.out.println("ForkJoinDemo.compute()");
    if (length < THRESHOLD) {  // 直接计算
      for (int i = start; i < start + length; i++) {
        dest[i] = source[i] * source[i];
      }
    } else { // 分而治之
      int split = length / 2;
      /**
       * invokeAll反复调用fork和join直到完成。
       */
      invokeAll(new RecursiveActionDemo(source, start, split, dest), new RecursiveActionDemo(source, start + split, length - split, dest));
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java  # Fork  # Join  # 并行计算  # Java优化for循环嵌套的高效率方法  # Java for循环Map集合优化实现解析  # Java for循环性能优化实现解析  # Java for循环常见优化方法案例详解  # 分而治之  # 大家分享  # 具体内容  # 大家多多  # Frank  # public  # RecursiveActionDemo  # ForkJoinPool  # RecursiveAction  # Created  # extends  # static  # int  # raw  # concurrent 


相关文章: 如何在阿里云通过域名搭建网站?  如何零基础开发自助建站系统?完整教程解析  建站之星客服服务时间及联系方式如何?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  jQuery 常见小例汇总  如何快速搭建高效简练网站?  网站制作网站,深圳做网站哪家比较好?  建站之星与建站宝盒如何选择最佳方案?  上海网站制作开发公司,上海买房比较好的网站有哪些?  小型网站建站如何选择虚拟主机?  如何通过免费商城建站系统源码自定义网站主题与功能?  详解jQuery中基本的动画方法  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  建站之星如何快速解决建站难题?  宝塔Windows建站如何避免显示默认IIS页面?  已有域名和空间如何快速搭建网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  如何通过西部数码建站助手快速创建专业网站?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何通过主机屋免费建站教程十分钟搭建网站?  如何快速搭建支持数据库操作的智能建站平台?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  如何破解联通资金短缺导致的基站建设难题?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  如何通过.red域名打造高辨识度品牌网站?  如何选择高效响应式自助建站源码系统?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何正确下载安装西数主机建站助手?  移民网站制作流程,怎么看加拿大移民官网?  高防服务器租用如何选择配置与防御等级?  建站之星微信建站一键生成小程序+多端营销系统  开封网站制作公司,网络用语开封是什么意思?  建站主机空间推荐 高性价比配置与快速部署方案解析  SQL查询语句优化的实用方法总结  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  相册网站制作软件,图片上的网址怎么复制?  视频网站制作教程,怎么样制作优酷网的小视频?  高防服务器租用首荐平台,企业级优惠套餐快速部署  网页设计网站制作软件,microsoft office哪个可以创建网页?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何自定义建站之星网站的导航菜单样式?  已有域名和空间如何搭建网站?  建站之星代理如何获取技术支持?  学校为何禁止电信移动建设网站?  红河网站制作公司,红河事业单位身份证如何上传?  ,巨量百应是干嘛的?  开心动漫网站制作软件下载,十分开心动画为何停播?  小建面朝正北,A点实际方位是否存在偏差? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。