Chcę mieć klasę, która zmienia swoje prywatne zmienne co 2 sekundy. Wiem, że jeśli zrobię coś podobnegoTworzenie przypomnienia powtarzalnego zegara w Javie
import java.util.Timer;
//...
Timer timer;
//...
timer.schedule(new ChangeSomething(), 2000);
będzie wykonywał ChangeSomething()
po 2 sekundach, czy istnieje sposób, aby poinformować go, aby zrobić coś co 2 sekundy, lub, jeśli mogę umieścić wewnątrz ChangeSomething()
timer.schedule(new ChangeSomething(), 2000);
czy to działa?
Dokładnie to, co robi timer.cancel()
?
Co ja nie rozumiem o timer.cancel(), to czy nie jest to wymagane, aby zrobić po tym, jak zrobić zadanie, że to było zaplanowane tylko raz, aby upewnić się, że nie zostanie to zrobione ponownie, czy nie? – SIMEL
Javadoc dla 'Timer' wskazuje, że nie jest to wymagane, a wątek wykonywania timera zakończy się. Jednak wyraźnie zaznacza, że może to trwać dość długo, a funkcja 'cancel()' może zostać użyta do szybszego zakończenia. (Wkleiłem odpowiedni akapit z Javadoc do odpowiedzi). – hmjd