标题1、最大值寻找算法并行化。设有一个长度为100万的整数数组arr,每个元素的取值范围在0~1000000,具体取值由随机数生成器生成。现在要求编写多线程程序寻找该数组的最大值,其中任务线程(即除主线程外的线程)数目为10,每个线程负责寻找10万个元素的最大值;同时比较并行化最大值寻找算法与传统串行化最大值寻找算法的性能,并求取加速比。
package test.ysq;
import java.util.*;
class MaxFinder {
public final static int ArrCapacity = 1000000, ThreadNum = 10;
@SuppressWarnings(“unused”)
public static void main(String[] args) throws InterruptedException{
int a[] = new int[ArrCapacity];
int b[] = new int[ThreadNum];
Random r = new Random();
int n = 0;
for(int j = 0; j < ArrCapacity;j++) {
a[j] = r.nextInt(ArrCapacity);
}
czxc czxc1[] = new czxc[ThreadNum];
long startTime = System.currentTimeMillis();
for(int j = 0;j < ThreadNum;j++) {
czxc1[j] = new czxc(a, j