logo

Thread.sleep()-metoden i Java med eksempler

Thread Class er en klasse, der dybest set er en tråd for udførelse af programmerne. Det er til stede i Java.lang-pakken. Trådklassen indeholder Søvn() metode. Der er to overbelastede metoder til Sleep()-metoden til stede i Thread Class, en er med et argument og en anden er med to argumenter. Sleep()-metoden bruges til at stoppe udførelsen af ​​den aktuelle tråd (alt efter hvad der udføres i systemet) i en bestemt varighed af tiden, og efter at varigheden er overstået, begynder tråden, der udføres tidligere, at køre igen.

Vigtigt punkt vedrørende Thread.sleep()-metoden:



  • Metode Når Thread.sleep() fungerer for at udføre, sætter den altid den aktuelle trådudførelse på pause.
  • Hvis en anden tråd afbryder, når tråden sover, vil InterruptedException blive kastet.
  • Hvis systemet er optaget, vil den faktiske tid, tråden vil sove, være mere sammenlignet med den, der gik, mens du kalder sleep-metoden, og hvis systemet har mindre belastning, vil den faktiske søvntid for tråden være tæt på den, der gik, mens kalder sleep() metoden.

Syntaks for Sleep()-metoden

Der er 4 variationer af sleep() metoden i Java Thread. Disse er:

jsp
 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>

Parametre sendt i Thread.Sleep()-metoden



    millis: Varighed af tid i millisekunder, for hvilken tråd vil sove nanos: Dette er den ekstra tid i nanosekunder, som vi ønsker, at tråden skal sove i. Det spænder fra 0 til 999999.

Returner Type af søvn() metode: Den returnerer ikke nogen værdi, dvs. returneringstypen for dvalefunktionen er ugyldig.

Søvnmetoden med den ene parameter er en native metode, dvs implementeringen af ​​denne metode sker i et andet programmeringssprog og den anden metode med to parametre er ikke en native metode, dvs dens implementering udføres i Java. Begge søvnmetoder er statiske, dvs. vi kan få adgang til dem ved hjælp af Thread-klassen. Begge metoder kaster en markeret undtagelse, dvs. vi kan håndtere undtagelsen enten ved at bruge throws nøgleordet eller ved at bruge try and catch blok.

Vi kan bruge Thread.Sleep()-metoden til enhver tråd, dvs. vi kan gøre det med hovedtråden eller enhver anden tråd, som vi laver programmatisk.



1. Brug af Thread.Sleep()-metoden til hovedtråd

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);> >}> >}> }>

>

>

Produktion

css ombryd tekst
0 1 2 3 4>

2. Brug af Thread.Sleep()-metoden til brugerdefineret tråd

Java




// 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();> >}> }>

>

>

Produktion

java metode tilsidesættelse
0 1 2 3 4>

3. UlovligArgumentundtagelse, når søvntiden er negativ

Java


java generere tilfældige tal



// 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);> >}> >}> }>

>

>

Produktion

java.lang.IllegalArgumentException: timeout value is negative>