我需要一个Timer
基本上每 t 秒做一次的事情。但我希望能够修改定时器重复任务的定时器周期。我写了这样的东西:
public Bot() {
timer = new Timer();
timer.schedule(new Task(), 1000, moveTime = 1000);
}
public class Task extends TimerTask {
@Override
public void run() {
System.out.println("Time Passed from last repeat:" + movetime)
moveTime += 1000;
}
因此,在 1000 毫秒延迟后,计时器启动并每moveTime
毫秒重复一次。问题是即使我增加movetime
了 1000,计时器总是在初始延迟(1000)处运行,但movetime
每次计时器调用时的值都会增加(2000、3000、4000 等)run()
。
我是否遗漏了什么,或者我有什么替代方法可以每隔“t”秒重复一次任务,而“t”是可变的?
谢谢。