编写一个应用程序创建两个线程,一个线程打印输出1~1000之间所有的奇数, 另外一个线程打印输出1~1000之间所有的偶数, 要求两个线程随机休眠一段时间后继续打印输出下一个数。请使用Tread类编程实现。用java语言
时间: 2024-02-19 15:58:48 浏览: 152
好的,我理解了你的问题。以下是使用Java语言编写的应用程序,使用Thread类创建了两个线程,一个线程打印输出1~1000之间所有的奇数,另一个线程打印输出1~1000之间所有的偶数,并且两个线程随机休眠一段时间后继续打印输出下一个数。
```java
public class OddEvenPrinter {
public static void main(String[] args) {
Thread oddThread = new Thread(new OddPrinter());
Thread evenThread = new Thread(new EvenPrinter());
oddThread.start();
evenThread.start();
}
}
class OddPrinter 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 EvenPrinter 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();
}
}
}
}
```
在这个程序中,我们定义了一个OddPrinter类和一个EvenPrinter类,它们实现了Runnable接口。在主函数中,我们创建了两个线程,一个线程使用OddPrinter类,另一个线程使用EvenPrinter类。
在每个线程的run()方法中,我们使用for循环分别打印出奇数和偶数,并使用Thread.sleep()方法在每次打印后随机休眠一段时间,以模拟两个线程随机休眠的情况。
注意,这个程序中我们使用了Math.random()方法来生成一个0~1之间的随机小数,然后将其乘以1000,得到一个0~1000之间的随机整数,作为线程休眠的时间。使用这种方法可以让线程随机休眠一段时间,增加程序的随机性和趣味性。
希望这个程序能够解决你的问题。
阅读全文