编写一个应用程序创建两个线程,一个线程打印输出1~1000之间所有的奇数, 另外一个线程打印输出1~1000之间所有的偶数, 要求两个线程随机休眠一段时间后继续打印输出下一个数。请使用Runnable接口编程实现。Java语言
时间: 2024-02-19 12:58:13 浏览: 79
Java有两种实现多线程的方式:通过Runnable接口、通过Thread直接实现,请掌握这两种实现方式,并编写示例程序。
5星 · 资源好评率100%
可以参考如下代码实现:
```java
public class PrintNumber implements Runnable {
private int start;
private int end;
private boolean isOdd;
public PrintNumber(int start, int end, boolean isOdd) {
this.start = start;
this.end = end;
this.isOdd = isOdd;
}
@Override
public void run() {
for (int i = start; i <= end; i++) {
if ((i % 2 == 1 && isOdd) || (i % 2 == 0 && !isOdd)) {
System.out.println(Thread.currentThread().getName() + ": " + i);
}
try {
Thread.sleep((long) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Thread oddThread = new Thread(new PrintNumber(1, 1000, true));
Thread evenThread = new Thread(new PrintNumber(1, 1000, false));
oddThread.start();
evenThread.start();
}
}
```
在上面的代码中,通过实现Runnable接口,创建了两个线程oddThread和evenThread,分别打印奇数和偶数。在run方法中,使用i % 2 == 1表示奇数,i % 2 == 0表示偶数,然后使用Thread.sleep方法随机休眠一段时间后再继续打印输出下一个数。最后在main方法中启动两个线程即可。
阅读全文