java.util.Timer 怎么刷新它的时间,从头计时
时间: 2023-11-28 08:48:49 浏览: 50
要重置 Timer 的时间,你可以调用 Timer 的 cancel() 方法和 TimerTask 的 cancel() 方法来停止当前的计时器任务,然后创建一个新的 Timer 对象并为其分配一个新的 TimerTask 对象来启动一个新的计时器任务。
以下是一个简单的示例代码,用于创建一个 Timer 对象并启动 TimerTask 对象,然后在一定时间后重置 Timer:
```
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
private static Timer timer;
private static TimerTask timerTask;
private static final int INTERVAL = 1000; // 1 second
public static void main(String[] args) {
startTimer();
// Wait for 5 seconds
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
resetTimer();
// Wait for 5 seconds
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
stopTimer();
}
private static void startTimer() {
timer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
System.out.println("TimerTask is running");
}
};
timer.schedule(timerTask, 0, INTERVAL);
}
private static void resetTimer() {
timerTask.cancel();
timer.cancel();
startTimer();
}
private static void stopTimer() {
timerTask.cancel();
timer.cancel();
}
}
```
在该示例中,startTimer() 方法用于创建 Timer 和 TimerTask 对象,并使用 schedule() 方法启动计时器任务。resetTimer() 方法用于停止当前的计时器任务,并重新创建一个 Timer 和 TimerTask 对象来启动一个新的计时器任务。stopTimer() 方法用于停止当前的计时器任务。在 main() 方法中,我们首先调用 startTimer() 方法来启动计时器任务,然后等待 5 秒钟。然后,我们调用 resetTimer() 方法来重置计时器任务并等待另外 5 秒钟。最后,我们调用 stopTimer() 方法来停止计时器任务。