java 多线程并发实例
时间: 2023-07-05 08:33:04 浏览: 129
好的,这里是一个简单的 Java 多线程并发实例,用于计算 1 到 100 的和。代码如下:
```java
public class MultiThreadSum implements Runnable {
private int start;
private int end;
private int sum;
public MultiThreadSum(int start, int end) {
this.start = start;
this.end = end;
this.sum = 0;
}
public int getSum() {
return sum;
}
@Override
public void run() {
for (int i = start; i <= end; i++) {
sum += i;
}
}
public static void main(String[] args) throws InterruptedException {
int n = 10; // 线程数
int num = 100; // 计算 1 到 num 的和
int step = num / n;
List<Thread> threads = new ArrayList<>();
List<MultiThreadSum> sums = new ArrayList<>();
for (int i = 0; i < n; i++) {
MultiThreadSum sum = new MultiThreadSum(i * step + 1, (i + 1) * step);
sums.add(sum);
Thread thread = new Thread(sum);
threads.add(thread);
thread.start();
}
int totalSum = 0;
for (int i = 0; i < n; i++) {
threads.get(i).join();
totalSum += sums.get(i).getSum();
}
System.out.println("1 到 " + num + " 的和为 " + totalSum);
}
}
```
在这个例子中,我们使用 `Runnable` 接口来定义线程,并使用 `Thread` 类来创建和启动线程。我们将任务分成 `n` 个部分,每个部分使用一个线程来计算。每个线程都实现了 `run()` 方法,在这个方法中实现了计算逻辑。在主线程中,我们使用 `join()` 方法来等待所有线程完成,并且将每个线程计算出的结果加起来得到最终的结果。
阅读全文