编写一个java程序,该程序由两个线程组成,第一个线程用来计算2~1000之间的质数个数,第二个线程用来计算1000~2000之间的质数个数。
时间: 2024-03-25 09:40:31 浏览: 48
好的,我可以为您编写一个简单的 Java 程序,其中包括两个线程,每个线程计算一个范围内的质数个数。以下是代码示例:
```java
public class PrimeNumberCounter implements Runnable {
private int start;
private int end;
private int count;
public PrimeNumberCounter(int start, int end) {
this.start = start;
this.end = end;
}
@Override
public void run() {
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
count++;
}
}
System.out.println("Number of prime numbers in range " + start + " - " + end + ": " + count);
}
private boolean isPrime(int num) {
if (num <= 1) {
return false;
}
int sqrt = (int) Math.sqrt(num);
for (int i = 2; i <= sqrt; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
PrimeNumberCounter counter1 = new PrimeNumberCounter(2, 1000);
PrimeNumberCounter counter2 = new PrimeNumberCounter(1001, 2000);
Thread thread1 = new Thread(counter1);
Thread thread2 = new Thread(counter2);
thread1.start();
thread2.start();
}
}
```
在这个程序中,每个线程都有一个 `start` 和 `end` 参数,用于确定其计算的范围。每个线程都会在运行时计算其范围内的质数个数,并将结果打印到控制台中。最后,在 `main` 方法中,我们创建了两个线程,并启动它们。
希望这个示例可以帮助您理解如何使用 Java 中的多线程来解决问题。
阅读全文