java多线程判断素数
时间: 2023-06-29 12:16:01 浏览: 53
以下是一个简单的 Java 多线程程序,用于判断一个数是否为素数:
```
import java.util.Scanner;
class PrimeCheck extends Thread {
int num;
PrimeCheck(int num) {
this.num = num;
}
public void run() {
boolean isPrime = true;
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(num + " is a prime number.");
} else {
System.out.println(num + " is not a prime number.");
}
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number: ");
int num = sc.nextInt();
PrimeCheck pc1 = new PrimeCheck(num);
PrimeCheck pc2 = new PrimeCheck(num + 1);
pc1.start();
pc2.start();
}
}
```
在这个程序中,我们创建了一个名为 PrimeCheck 的线程类,用于判断一个数是否为素数。在 Main 类中,我们创建了两个 PrimeCheck 线程对象,并将 num 和 num+1 作为参数传递给它们。这样,我们可以同时判断两个数是否为素数,从而提高程序的效率。
请注意,这只是一个简单的例子,实际的多线程程序可能会更加复杂。在编写多线程程序时,请务必小心处理线程同步和锁定的问题,以避免出现意外的行为。