– Cześć, Amigo! Dzisiaj Bilaabo opowie Ci o najciekawszej metodzie, jakiej używamy przy pracy z wątkami: sleep. Metoda sleep jest zadeklarowana jako metoda statyczna klasy Thread, tzn. nie jest ona związana z żadnym obiektem. Celem tej metody jest spowodowanie, aby program na jakiś czas „zasnął”. Oto, jak to działa:

Kod Opis
public static void main(String[] args)
{
Thread.sleep(2000);
}

Program uruchamia się.

Następnie zostaje wstrzymany na 2 sekundy (2000 milisekund)

Następnie kończy działanie.

Jedynym parametrem metody sleep jest długość czasu. Przedział czasowy określony jest w tysięcznych częściach sekundy (milisekundach). Gdy wątek wywoła tę metodę, zasypia na określoną ilość milisekund.

– Kiedy najlepiej używać tej metody?

– Metoda sleep jest często używana w wątkach podrzędnych, kiedy trzeba coś robić regularnie, ale nie za często. Spójrz na ten przykład:

Kod Opis
public static void main(String[] args)
{
while (true)
{
Thread.sleep(500);
System.out.println("Tik");
}
}
Program będzie działał bez końca. Warunek pętli jest zawsze prawdziwy.

Oto, co program robi w pętli:
a) usypia na pół sekundy
b) wyświetla na ekranie "Tik"

To znaczy, że niektóre działania będą wykonywane dwa razy na sekundę.

To bardzo interesujące.

– Cieszę się, że Ci się podoba, przyjacielu.

– A co jeśli chcę wykonać jakieś działanie 100 razy na sekundę... Co powinienem wtedy zrobić?

– Jeśli działanie ma być wykonywane 100 razy na sekundę, a w sekundzie jest 1000 milisekund, to działanie musi być wykonywane raz na 10 milisekund.

Jeśli Twoje działanie zajmuje 2 milisekundy, to powinieneś dodać 8 milisekundowe opóźnienie. W sumie będzie one wykonywane co 10 milisekund. A to równa się 100 powtórzeniom na sekundę.

Jeśli Twoje działanie jest niemal natychmiastowe, dodaj 10 milisekundowe opóźnienie (sleep). Wówczas zostanie ono wykonane około 100 razy na sekundę.

– Dziękuję, Bilaabo.