举个java多线程例子
时间: 2023-06-28 22:08:09 浏览: 116
一个简单的Java多线程示例是计算1到10的和。我们可以将任务分成10个部分,每个部分分配给不同的线程来计算。每个线程计算完它的部分后,将结果返回给主线程,主线程将这些结果相加以得到总和。
以下是Java多线程计算1到10的和的示例代码:
```java
public class ThreadExample extends Thread {
private int start;
private int end;
private int sum;
public ThreadExample(int start, int end) {
this.start = start;
this.end = end;
}
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 numberOfThreads = 10;
int numbersPerThread = 1;
ThreadExample[] threads = new ThreadExample[numberOfThreads];
for (int i = 0; i < numberOfThreads; i++) {
threads[i] = new ThreadExample(i * numbersPerThread + 1, (i + 1) * numbersPerThread);
threads[i].start();
}
int totalSum = 0;
for (int i = 0; i < numberOfThreads; i++) {
threads[i].join();
totalSum += threads[i].getSum();
}
System.out.println("Total sum: " + totalSum);
}
}
```
在这个例子中,我们创建了一个ThreadExample类来代表每个线程。每个线程计算一部分数字的总和,并将结果存储在sum变量中。在main方法中,我们创建了10个ThreadExample对象,并将它们分别分配给不同的线程来计算它们的部分。一旦所有线程完成计算,我们将它们的结果相加以得到总和。
阅读全文