阿里面试题:100W个随机数求和,用多线程解(java语言)


//用最短的时间计算出求和结果。
//输入:一个整数数组,里面有100W个整数
//输出:求和结果,求和使用的时间

class Caculate implements Runnable{
	int batchArr[];
	int start;
	int end;
	AtomicInteger batchSum;
	CountDownLatch cdh;
	public Caculate(int batchArr[], int start, int end, AtomicInteger batchSum, CountDownLatch cdh){
	};
	public void run(){
	// TODO 简单的累加就搞定
	}
}


public static void main(String[] args){
// 大数组分好组
// 线程分任务
// 线程计数到0,所有线程完成任务
// 累加一把
}
楼主是个多线程白痴,一点也不会,面试官人很好,还给我提供思路,这上面的框架都是他看我写不出来写来提示我的....奈何我太菜,哪位大佬能把这个补全。

#面试题目##阿里巴巴#
全部评论
这个用多线程加速求和时间,并不会有并发冲突.在一开始时为每一个线程分配各自对应的计算区间,计算完毕后返回结果就好了.然后主线程将所有结果加起来
点赞 回复
分享
发布于 2021-05-06 09:41
forkjoin可以吧
点赞 回复
分享
发布于 2021-05-06 15:02
英特尔
校招火热招聘中
官网直投
分线程计算区间和,最后归并(如果线程太多也可以多归并一层)
点赞 回复
分享
发布于 2021-05-14 19:30

相关推荐

1 11 评论
分享
牛客网
牛客企业服务