java中fork什么意思_最通俗的例子讲解Java中的fork-join
public class SumArray {
private static class SumTask extends RecursiveTask{
private final static int THRESHOLD = MakeArray.ARRAY_LENGTH/10;
//表示我们要实际统计的数组
private int[] src;
//开始统计的下标
private int fromIndex;
//统计到哪里结束的下标
private int toIndex;
public SumTask(int[] src, int fromIndex, int toIndex) {
this.src = src;
this.fromIndex = fromIndex;
this.toIndex = toIndex;
}
@Override
protected Integer compute() {
if(toIndex-fromIndex < THRESHOLD) {
int count = 0;
for(int i=fromIndex;i<=toIndex;i++) {
//SleepTools.ms(1);
count = count + src[i];
}
return count;
}else {
//fromIndex....mid....toIndex
int mid = (fromIndex+toIndex)/2;
SumTask left = new SumTask(src,fromIndex,mid);
SumTask right = new SumTask(src,mid+1,toIndex);
invokeAll(left,right);
return left.join()+right.join();
}
}
}
public static void main(String[] args) {
ForkJoinPool pool = new ForkJoinPool();
//随机生成数组
int[] src = MakeArray.makeArray();
SumTask innerFind = new SumTask(src,0,src.length-1);
long start = System.currentTimeMillis();
pool.invoke(innerFind);//同步调用
System.out.println("Task is Running.....");
System.out.println("The count is "+innerFind.join()
+" spend time:"+(System.currentTimeMillis()-start)+"ms");
}
}
java中fork什么意思_最通俗的例子讲解Java中的fork-join相关推荐
- 下面哪种不是java语言的注释写法_下列哪项不是Java语言中所规定的注释样式?()...
[单选题]下列声明和赋值语句错误的是() [单选题]Java语言中表达式"11"+22的结果是() [单选题]以下表达式语句不合法的是() [判断题]3. 教育活动是在教师有目的. ...
- java中git使用教程_【教程】Git在Eclipse中的安装和基本使用
一.安装 点击 Help->Install New Software->add 安装地址为:http://download.eclipse.org/egit/updates/ 选择插件 点 ...
- 用Java代码实现日志记录器_如何在此简单的Java日志记录实现中附加到日志文件? - java...
我得到了以下用于创建和管理Logger的类.每当执行代码和程序时,都会使用对静态getLogger()捕获块的调用进行记录. public class Log { private static fin ...
- java中解密的思想_北大青鸟翔天解密,Java核心思想两大点
Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少.对核心概念和思想的掌握可以帮助我们举一反三.触类旁通,有助于提升我们对整个J ...
- java能调用python吗_如何使用运行时在Java中调用python程序 - java
我想用来自Java的参数调用python程序.但是我的输出是空白.代码在这里. Python代码在这里: import sys print(sys.argv[1]) Java代码在这里: public ...
- linux中jdk添加字体_在Linux上为Openjdk Java定义/安装字体的位置
在Ubuntu上安装了Oracle 8 jdk,在jre/lib中它具有各种fontProperties文件和一个包含字体的字体目录.但是,当安装OpenJdk 8时,jre/lib中的字体文件上没有 ...
- java jdk 1.8 安装_下载、安装、配置 java jdk1.8
近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...
- java匿名对象赋初值_不想进BAT的Java程序员不是好程序员,BAT后端Java岗面试真题分享
一. JDK/JRE/JVM 三者之间的联系与区别 JDK:开发者提供的开发工具箱,是给程序开发者用的.它包括完整的JRE(Java Runtime Environment),Java运行环境,还包含 ...
- fusion 360安装程序的多个实例正在同时运行。_阿里架构师实例讲解——Java多线程编程;详细的不能再详细了...
欢迎关注专栏<Java架构筑基>--专注于Java技术的研究与分享! Java架构筑基zhuanlan.zhihu.com Java架构筑基--专注于Java技术的研究与分享! 后续文章 ...
最新文章
- 【算法分析与设计】顺序存储结构的搜索算法
- php 类 和 函数,PHP函数和类
- DataTable转Csv,Excel(转)
- action属性注入为null
- CefSharp如何获取请求响应头Headers中的数据
- Apktool命令使用总结
- 20135202闫佳歆--week 9 期中总结
- 时间、延迟及延缓操作
- 7行代码实现一个Tvoc/eCO2有害气体检测仪
- 微软云和阿里云的区别
- 大创:小车运动部分计划及端口(1)
- MySQL语句之show
- IT培训行业揭秘(二)
- Closing non transactional SqlSession导致spring事务不生效
- 最小堆 构建、插入、删除的过程图解
- 机器学习硬件设施差?免费使用谷歌的GPU云计算平台
- 【报告分享】2021中国车市如何应对人口下滑冲击-易车研究院(附下载)
- 老照片怎么修复清晰?掌握这个技巧,一键智能修复
- LeetCode高频题:多多发明了一个跳棋游戏,n个格子组成,格子上有字符‘L’或‘R’,遇到L走i-xi,遇到R走i+xi,问每个位置为起点,到游戏结束,分别需要走多少步
- MFC 加载 EXCEL 并快速读取大量数据
热门文章
- java getenv_Java利用System.getenv()和System.getProperty()来读取配置信息
- Keras深度学习实战(41)——语音识别
- 数据治理系列文章:(6)数据质量
- 机器学习基础(一)——线性代数
- 克服自卑心理,展现真实自我
- wevedeveloper靶机渗透
- 电话会议蓝牙耳机推荐哪款?电话会议打电话方便的耳机推荐
- 学术界的“父母内卷”:近1/4终身教授拥有博士父母,是普通人的25倍
- horspool 算法java实现_关于String里indexOf()的一些思考
- 魔众抽奖系统 v3.3.0 轮播动图 系统升级优化