Я хочу иметь класс, который меняет свои личные переменные каждые 2 секунды. Я знаю, что если я делаю что-то вродеСоздание повторяющегося напоминания по таймеру в Java
import java.util.Timer;
//...
Timer timer;
//...
timer.schedule(new ChangeSomething(), 2000);
Он будет выполнять ChangeSomething()
после 2 секунд, есть способ, чтобы сказать ему, чтобы сделать что-то каждые 2 секунды, или, если я положил внутрь ChangeSomething()
timer.schedule(new ChangeSomething(), 2000);
будет ли это работать?
На боковой ноте, что делает timer.cancel()
точно?
То, что я не понимаю, о timer.cancel(), это является ли это необходимо сделать после того, как я сделать задачу, что это был запланировано только один раз, чтобы убедиться, что это не будет сделано снова или нет? – SIMEL
Javadoc для 'Timer' указывает, что это не требуется, и поток exeecution таймера завершится. Однако в нем конкретно говорится, что это может занять сколь угодно долгое время, а 'cancel()' может использоваться для его более быстрого завершения. (Вставка соответствующего абзаца из Джавадока в ответ). – hmjd