una - timer.schedule java
¿Cómo puedo cambiar el período de ejecución de mi TimerTask en tiempo de ejecución? (2)
No puede hacer esto directamente, pero puede cancelar las tareas en el Timer
y reprogramarlas con el período deseado.
No hay getPeriod
método getPeriod
.
¿Cómo puedo cambiar el período del temporizador en tiempo de ejecución?
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
// read new period
period = getPeriod();
doSomething();
}
}, 0, period);
Puedes hacerlo así:
private int period= 1000;
private void startTimer() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
// do something...
System.out.println("delay = " + delay);
period = 500; // change the period time
timer.cancel(); // cancel time
startTimer(); // start the time again with a new delay time
}
}, 0, period);
}