、编写一个Java应用程序,利用Runnable接口,实现多线程,要求有三个线程:睡觉、娱乐和学习,各测试50次。
时间: 2024-03-20 12:40:20 浏览: 72
好的,下面是实现代码:
```java
public class MyThread implements Runnable {
private String task;
public MyThread(String task) {
this.task = task;
}
@Override
public void run() {
for (int i = 1; i <= 50; i++) {
System.out.println(task + " " + i);
try {
Thread.sleep((long) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class MultiThreadDemo {
public static void main(String[] args) {
Thread t1 = new Thread(new MyThread("睡觉"));
Thread t2 = new Thread(new MyThread("娱乐"));
Thread t3 = new Thread(new MyThread("学习"));
t1.start();
t2.start();
t3.start();
}
}
```
在这个程序中,我们定义了一个实现了Runnable接口的MyThread类,它有一个构造函数用来传递任务名称。在run()方法中,我们使用for循环测试50次任务,并在每次任务之间使用Thread.sleep()方法来模拟任务所需的时间。
在主函数中,我们创建了三个线程t1、t2和t3,并分别传入MyThread实例作为参数。然后我们调用start()方法开始运行线程。
运行这个程序,你会看到三个线程交替执行任务,每个任务执行50次。注意每次运行的结果可能会不同,因为Thread.sleep()方法的休眠时间是随机生成的。
阅读全文