本文实例为大家分享了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小时内与您取得联系。