Мне нужен 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'?
Спасибо.