用java编写一个应用程序创建两个线程,一个线程打印输出1~1000之间所有的奇数, 另外一个线程打印输出1~1000之间所有的偶数, 要求两个线程随机休眠一段时间后继续打印输出下一个数。请使用Tread类编程实现。
时间: 2024-02-28 17:51:54 浏览: 30
好的,这是一个使用Java编写的应用程序,创建两个线程,一个线程打印输出1~1000之间所有的奇数,另一个线程打印输出1~1000之间所有的偶数,要求两个线程随机休眠一段时间后继续打印输出下一个数。请使用Thread类编程实现。
```java
public class ThreadDemo {
public static void main(String[] args) {
Thread oddThread = new Thread(new OddNumber());
Thread evenThread = new Thread(new EvenNumber());
oddThread.start();
evenThread.start();
}
}
class OddNumber implements Runnable {
@Override
public void run() {
for (int i = 1; i <= 1000; i += 2) {
System.out.println("Odd: " + i);
try {
Thread.sleep((long) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class EvenNumber implements Runnable {
@Override
public void run() {
for (int i = 2; i <= 1000; i += 2) {
System.out.println("Even: " + i);
try {
Thread.sleep((long) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
```
在这个程序中,我们使用了Java中的Thread类创建了两个线程,一个是奇数线程,一个是偶数线程。每个线程都实现了Runnable接口,并重写了run()方法。在run()方法中,我们使用for循环打印输出1~1000之间的奇数或偶数,然后使用Thread.sleep()方法随机休眠一段时间。这样,两个线程就可以交替打印输出奇数和偶数了。
注意,在使用Thread.sleep()方法时需要捕获InterruptedException异常。此外,我们使用Math.random()方法生成了一个随机数来确定休眠时间,这里我们将其乘以1000,以毫秒为单位。