java分别使用两种创建线程的方法,打印1~1000之间的奇数和偶数 需要创建几个类
时间: 2024-11-20 13:41:27 浏览: 29
在Java中,可以使用两种常见的方法来创建线程:继承Thread类和实现Runnable接口。这里我们将会创建两个类:一个作为Runnable实现类,另一个作为Thread启动类。
1. 使用Runnable接口:
```java
public class PrintOddEven implements Runnable {
private boolean isOdd;
public PrintOddEven(boolean isOdd) {
this.isOdd = isOdd;
}
@Override
public void run() {
for (int i = 1; i <= 1000; i++) {
if ((isOdd && i % 2 != 0) || (!isOdd && i % 2 == 0)) {
System.out.println(Thread.currentThread().getName() + ": " + i);
}
}
}
}
// 主类启动线程
public class Main {
public static void main(String[] args) {
Thread oddThread = new Thread(new PrintOddEven(true), "OddThread");
Thread evenThread = new Thread(new PrintOddEven(false), "EvenThread");
oddThread.start();
evenThread.start();
}
}
```
在这个例子中,`PrintOddEven`类实现了Runnable接口,并有两个实例,分别处理奇数和偶数。
2. 继承Thread类:
```java
public class PrintOddEven extends Thread {
private boolean isOdd;
public PrintOddEven(boolean isOdd) {
super("OddThread" if isOdd else "EvenThread"); // 设置线程名称
this.isOdd = isOdd;
}
@Override
public void run() {
for (int i = 1; i <= 1000; i++) {
if ((isOdd && i % 2 != 0) || (!isOdd && i % 2 == 0)) {
System.out.println(getName() + ": " + i);
}
}
}
}
// 主类启动线程
public class Main {
public static void main(String[] args) {
PrintOddEven oddThread = new PrintOddEven(true);
PrintOddEven evenThread = new PrintOddEven(false);
oddThread.start();
evenThread.start();
}
}
```
这里,`PrintOddEven`类直接继承自Thread,每个实例对应一个线程。
无论是哪种方式,最终都会创建两个线程,一个负责打印奇数,一个负责打印偶数。
阅读全文