Java timer con retraso no fijo
Necesito unTimer
que básicamente hace algo cada t segundos. Pero quiero poder modificar el período del temporizador en el que el temporizador repite la tarea. Escribí algo como esto:
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;
}
Entonces, después de 1000ms de retraso, el temporizador comienza y se repite cadamoveTime
Sra. El problema es incluso si aumentémovetime
por 1000, el temporizador siempre se ejecuta en el retraso inicial (1000) pero el valor demovetime
aumenta (2000, 3000, 4000, etc.) cada vez que el temporizador llama arun()
.
Me falta algo o qué alternativa tengo para repetir una tarea cada 't' segundo con 't' siendo variable?
Gracias