Die Thread-Klasse ist eine Klasse, die im Grunde ein Thread zur Ausführung der Programme ist. Es ist im Java.lang-Paket enthalten. Die Thread-Klasse enthält die Schlafen() Methode. In der Thread-Klasse gibt es zwei überladene Methoden der Sleep()-Methode, eine mit einem Argument und eine mit zwei Argumenten. Die Methode „sleep()“ wird verwendet, um die Ausführung des aktuellen Threads (je nachdem, welcher gerade im System ausgeführt wird) für eine bestimmte Zeitspanne anzuhalten. Nach Ablauf dieser Zeitspanne beginnt der Thread, der zuvor ausgeführt wurde, erneut mit der Ausführung.
Wichtiger Punkt bezüglich der Thread.sleep()-Methode:
- Methode Immer wenn Thread.sleep() ausgeführt werden soll, wird die aktuelle Thread-Ausführung immer angehalten.
- Wenn ein anderer Thread unterbricht, während der Thread schläft, wird eine InterruptedException ausgelöst.
- Wenn das System ausgelastet ist, ist die tatsächliche Ruhezeit des Threads länger als die, die beim Aufruf der Sleep-Methode verstrichen ist. Wenn das System weniger ausgelastet ist, liegt die tatsächliche Ruhezeit des Threads in der Nähe der verstrichenen Zeit Aufruf der Methode „sleep()“.
Syntax der Sleep()-Methode
2 zu 1 Multiplexer
Es gibt 4 Variationen der Sleep()-Methode in Java Thread. Diese sind:
1. public static void sleep(long millis)throws InterruptedException 2. public static void sleep(long millis)throws IllegalArguementException 3. public static void sleep(long millis, int nanos)throws InterruptedException 4. public static void sleep(long millis, int nanos)throws IllegalArguementException>
In der Thread.Sleep()-Methode übergebene Parameter
- Millis: Zeitdauer in Millisekunden, für die der Thread schläft. Nanos: Dies ist die zusätzliche Zeit in Nanosekunden, für die der Thread schlafen soll. Der Wert liegt zwischen 0 und 999999.
Rückgabetyp der Sleep()-Methode: Es gibt keinen Wert zurück, d. h. der Rückgabetyp der Schlaffunktion ist void.
Die Sleep-Methode mit einem Parameter ist eine native Methode, d. h. die Implementierung dieser Methode erfolgt in einer anderen Programmiersprache und die andere Methode mit zwei Parametern ist keine native Methode, d. h. ihre Implementierung erfolgt in Java. Beide Sleep-Methoden sind statisch, das heißt, wir können über die Thread-Klasse auf sie zugreifen. Beide Methoden lösen eine aktivierte Ausnahme aus, d. h. wir können die Ausnahme entweder mit dem Schlüsselwort throws oder mit dem Try- und Catch-Block behandeln.
Wir können die Thread.Sleep()-Methode für jeden Thread verwenden, d. h. wir können dies mit dem Hauptthread oder jedem anderen Thread tun, den wir programmgesteuert erstellen.
1. Verwenden der Thread.Sleep()-Methode für den Hauptthread
Java
Konvertieren von String in int Java
// Java Program for sleeping the main thread.> import> java.io.*;> import> java.lang.Thread;> class> GFG {> >public> static> void> main(String[] args)> >{> >// we can also use throws keyword followed by> >// exception name for throwing the exception> > >try> {> >for> (>int> i =>0>; i <>5>; i++) {> > >// it will sleep the main thread for 1 sec> >// ,each time the for loop runs> >Thread.sleep(>1000>);> > >// printing the value of the variable> >System.out.println(i);> >}> >}> >catch> (Exception e) {> > >// catching the exception> >System.out.println(e);> >}> >}> }> |
>
>Ausgabe
0 1 2 3 4>
2. Verwenden der Thread.Sleep()-Methode für benutzerdefinierte Threads
Java
execlp
// Java Program for sleeping the custom thread.> import> java.io.*;> import> java.lang.Thread;> class> GFG>extends> Thread {> >public> void> run()> >{> >// thread 0> >// we can also use throws keyword followed by> >// exception name for throwing the exception> >try> {> >for> (>int> i =>0>; i <>5>; i++) {> > >// it will sleep the main thread for 1 sec> >// ,each time the for loop runs> >Thread.sleep(>1000>);> > >// This Thread.sleep() method will sleep the> >// thread 0.> >// printing the value of the variable> >System.out.println(i);> >}> >}> >catch> (Exception e) {> > >// catching the exception> >System.out.println(e);> >}> >}> >public> static> void> main(String[] args)> >{> >// main thread> >GFG obj =>new> GFG();> >obj.start();> >}> }> |
>
Mapping im Typoskript
>Ausgabe
0 1 2 3 4>
3. IllegalArguementException, wenn die Ruhezeit negativ ist
Java
Bild als Hintergrund in CSS
// Java Program for showing how exception can occur if we> // pass the negative timeout value.> import> java.io.*;> import> java.lang.Thread;> class> GFG {> >public> static> void> main(String[] args)> >{> >// we can also use throws keyword followed by> >// exception name for throwing the exception> > >try> {> >for> (>int> i =>0>; i <>5>; i++) {> > >// this will throw the> >// IllegalArgumentException> >Thread.sleep(->100>);> > >// printing the value of the variable> >System.out.println(i);> >}> >}> >catch> (Exception e) {> > >// catching the exception> >System.out.println(e);> >}> >}> }> |
>
>Ausgabe
java.lang.IllegalArgumentException: timeout value is negative>