java 多线程 并行处理案例
时间: 2023-10-23 18:15:27 浏览: 172
java 多线程并发实例
3星 · 编辑精心推荐
好的,针对您的问题,我可以给您提供一个简单的 Java 多线程并行处理案例。
假设有一个数组,需要对其中的每个元素进行平方运算,并将结果存储到另一个数组中。我们可以使用多线程并行处理来加速这个过程。
下面是示例代码:
```java
public class ParallelSquare {
public static void main(String[] args) {
int[] input = {1, 2, 3, 4, 5};
int[] output = new int[input.length];
// 创建线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任务
for (int i = 0; i < input.length; i++) {
int finalI = i;
executor.submit(() -> {
output[finalI] = input[finalI] * input[finalI];
});
}
// 关闭线程池
executor.shutdown();
// 等待所有任务完成
while (!executor.isTerminated()) {}
// 输出结果
System.out.println(Arrays.toString(output));
}
}
```
在这个例子中,我们首先创建了一个长度为 5 的输入数组和一个长度为 5 的输出数组。然后,我们创建了一个固定大小为 5 的线程池,并使用 `submit` 方法向线程池提交任务。每个任务都是一个 lambda 表达式,用于计算输入数组中对应元素的平方,并将结果存储到输出数组中。
最后,我们关闭线程池并等待所有任务完成,然后输出结果。
阅读全文