„Hallo Amigo! Heute wird dir Bilaabo die interessanteste Methode vorstellen, die wir bei der Arbeit mit Threads eisnetzen können: sleep. Die sleep-Methode ist als statische Methode der Thread-Klasse deklariert, d.h., sie ist nicht mit einem bestimmten Objekt verbunden. Der Zweck dieser Methode ist es, das Programm für eine Weile ‚einschlafen‘ zu lassen. So funktioniert das:“

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

Das Programm startet.

Dann friert es für 2 Sekunden (2.000 Millisekunden) ein.

Dann wird es beendet.

Der einzige Parameter der sleep-Methode ist eine Zeitspanne. Das Zeitintervall wird in Tausendstelsekunden (Millisekunden) angegeben. Sobald ein Thread diese Methode aufruft, schläft er für die angegebene Anzahl von Millisekunden ein.

„Wann sollte diese Methode eingesetzt werden?“

„Diese Methode wird oft in untergeordneten Threads verwendet, wenn du etwas regelmäßig, aber nicht zu oft, tun musst. Sieh dir dieses Beispiel an:“

Code Beschreibung
public static void main(String[] args)
{
while (true)
{
Thread.sleep(500);
System.out.println("Tick");
}
}
Das Programm wird für immer ausgeführt. Die Schleifenbedingung ist immer wahr.

Das macht das Programm in der Schleife:
a) eine halbe Sekunde schlafen
b) ‚Tick‘ auf dem Bildschirm anzeigen

Das heißt, eine Aktion wird zweimal pro Sekunde ausgeführt.

„Oh, das ist natürlich interessant.“

„Schön, dass es dir gefällt, mein Freund!“

„Was ist, wenn ich eine Aktion 100 Mal pro Sekunde ausführen will? Wie mache ich das?“

„Wenn eine Aktion 100 Mal pro Sekunde ausgeführt werden soll und eine Sekunde 1000 Millisekunden hat, dann muss die Aktion einmal alle 10 Millisekunden ausgeführt werden.“

Wenn deine Aktion 2 Millisekunden dauert, dann solltest du eine Verzögerung von 8 Millisekunden einfügen. Zusammengenommen wird sie dann alle 10 Millisekunden ausgeführt. Und das heißt 100 Mal pro Sekunde.

Wenn deine Aktion fast augenblicklich erfolgt, füge eine Verzögerung von 10 Millisekunden (sleep) ein. Dann wird sie etwa 100 Mal pro Sekunde ausgeführt.

„Danke, Bilaabo.“