uso una tiempo método metodo hora especifica ejecutar detener como codigo cierto cada java timer timertask

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); }