

import java.util.Random;public class Thread_2533 {public static void main(String[] args) throws InterruptedException {long start = System.currentTimeMillis();int total = 1000_0000;int [] arr = new int[total];Random random = new Random();for (int i = 0; i < total; i++) {int num = random.nextInt(100) + 1;arr[i] = num;}SumOperator operator = new SumOperator();Thread t1 = new Thread(() -> {for (int i = 0; i < total; i += 2) {operator.addEvenSum(arr[i]);}});Thread t2 = new Thread(() -> {for (int i = 1; i < total; i += 2) {operator.addOddSum(arr[i]);}});t1.start();t2.start();t1.join();t2.join();long end = System.currentTimeMillis();System.out.println("结算结果为 = " + operator.result());System.out.println("总耗时 " + (end - start) + "ms.");}
}
class SumOperator {long evenSum;long oddSum;public void addEvenSum (int num) {evenSum += num;}public void addOddSum (int num) {oddSum += num;}public long result() {System.out.println("偶数和:" + evenSum);System.out.println("奇数和:" + oddSum);return evenSum + oddSum;}
}
关键1. 数组的初始化
int total = 1000_0000;
int [] arr = new int[total];
Random random = new Random();
for (int i = 0; i < total; i++) {int num = random.nextInt(100) + 1;arr[i] = num;
}
关键2. 奇偶的相加
class SumOperator {long evenSum;long oddSum;public void addEvenSum (int num) {evenSum += num;}public void addOddSum (int num) {oddSum += num;}public long result() {System.out.println("偶数和:" + evenSum);System.out.println("奇数和:" + oddSum);return evenSum + oddSum;}
}