编写三个线程分别显示各自的运行时间,第一个线程每隔1秒钟运行一次,第二个线程每隔5秒钟运行一次,第三个线程每隔10秒钟运行一次。java
时间: 2023-12-15 09:03:29 浏览: 88
可以使用Java中的Thread类和Runnable接口来实现。下面是一个示例代码实现:
```java
public class ThreadDemo {
public static void main(String[] args) {
Thread t1 = new Thread(new MyThread(1));
Thread t2 = new Thread(new MyThread(5));
Thread t3 = new Thread(new MyThread(10));
t1.start();
t2.start();
t3.start();
}
}
class MyThread implements Runnable {
private int interval;
public MyThread(int interval) {
this.interval = interval;
}
@Override
public void run() {
long startTime = System.currentTimeMillis();
while (true) {
try {
Thread.sleep(interval * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long currentTime = System.currentTimeMillis();
long elapsedTime = (currentTime - startTime) / 1000;
System.out.println("Thread " + interval + " seconds: " + elapsedTime + " seconds");
}
}
}
```
在这个示例中,我们定义了一个MyThread类实现了Runnable接口,用于创建三个不同的线程。在每个线程中,我们使用Thread.sleep()来让线程暂停指定的时间间隔,然后使用System.currentTimeMillis()来计算已经运行的时间,最后打印出来。
阅读全文