用java语言实现监控TimerTask的执行状态
时间: 2024-05-15 07:18:33 浏览: 5
好的,这个问题很好,下面是用java语言实现监控TimerTask的执行状态的示例代码:
```java
import java.util.Timer;
import java.util.TimerTask;
public class TimerTaskDemo {
public static void main(String[] args) {
Timer timer = new Timer();
MyTask myTask = new MyTask();
timer.schedule(myTask, 0, 1000);
// 在这里监控MyTask的执行状态
while (true) {
System.out.println(myTask.isRunning() ? "正在执行" : "已经停止");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
static class MyTask extends TimerTask {
private boolean running;
public MyTask() {
super();
running = false;
}
@Override
public void run() {
running = true;
System.out.println("任务执行中...");
running = false;
}
public boolean isRunning() {
return running;
}
}
}
```
这段代码中,我们创建了一个Timer对象,并调用其schedule方法来安排MyTask的执行。然后,在Main方法中使用一个无限循环来监控MyTask的执行状态,直到我们手动停止程序。在MyTask的run方法中,我们将running标志设置为true,表示任务正在执行,然后输出一条信息,最后将running标志设置为false,表示任务已经执行完毕。在MyTask中还定义了一个isRunning方法,用于获取当前任务的执行状态。
希望这段代码可以帮助你解决问题!