编写一个应用程序创建两个线程,一个线程打印输出1~1000之间所有的奇数, 另外一个线程打印输出1~1000之间所有的偶数, 要求两个线程随机休眠一段时间后继续打印输出下一个数。请使用Tread类编程实现。用java语言
时间: 2024-02-19 07:58:01 浏览: 78
好的,下面是实现代码:
```java
public class PrintNumbers implements Runnable {
private int start;
private int end;
public PrintNumbers(int start, int end) {
this.start = start;
this.end = end;
}
@Override
public void run() {
for (int i = start; i <= end; i += 2) {
System.out.println(Thread.currentThread().getName() + ": " + i);
try {
Thread.sleep((long) (Math.random() * 100));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Thread t1 = new Thread(new PrintNumbers(1, 1000), "奇数线程");
Thread t2 = new Thread(new PrintNumbers(2, 1000), "偶数线程");
t1.start();
t2.start();
}
}
```
这个程序中,我们创建了一个 `PrintNumbers` 类,它实现了 `Runnable` 接口,并重写了 `run` 方法。这个类的构造方法接收两个参数,分别表示要打印的数字范围的起始和结束位置。在 `run` 方法中,我们使用一个循环打印指定范围内的所有奇数或偶数,并使用 `Thread.sleep` 方法随机休眠一段时间。
在 `main` 方法中,我们创建了两个线程,分别传入奇数和偶数的范围,然后启动这两个线程。在启动的过程中,Java 会自动调用 `run` 方法,并在两个线程中交替执行,从而实现奇偶数的打印。
阅读全文