logo

Thread.sleep()-metoden i Java med eksempler

Thread Class er en klasse som i utgangspunktet er en tråd for utførelse av programmene. Den finnes i Java.lang-pakken. Trådklassen inneholder Sove() metode. Det er to overbelastede metoder for Sleep()-metoden til stede i Thread Class, en er med ett argument og en annen er med to argumenter. Sleep()-metoden brukes til å stoppe kjøringen av den gjeldende tråden (den som måtte kjøres i systemet) for en bestemt varighet av tiden, og etter at varigheten er over, begynner tråden som kjøres tidligere å kjøre igjen.

Viktig poeng angående Thread.sleep()-metoden:



  • Metode Når Thread.sleep() fungerer for å kjøre, setter den alltid den gjeldende trådkjøringen på pause.
  • Hvis en annen tråd avbryter når tråden sover, vil InterruptedException bli kastet.
  • Hvis systemet er opptatt, vil den faktiske tiden tråden vil sove, være mer sammenlignet med den som ble passert mens du ringte dvalemetoden, og hvis systemet har mindre belastning, vil den faktiske hviletiden for tråden være nær den som gikk mens kaller sleep()-metoden.

Syntaks for Sleep()-metoden

Det er 4 varianter av sleep()-metoden i Java Thread. Disse er:

bash if-uttalelse
 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>

Parametere sendt i Thread.Sleep()-metoden



    millis: Varighet i millisekunder som tråden skal sove for nanos: Dette er den ekstra tiden i nanosekunder som vi vil at tråden skal sove for. Det varierer fra 0 til 999999.

Returner Type søvn()-metode: Den returnerer ingen verdi, dvs. returtypen til dvalefunksjonen er ugyldig.

Søvnmetoden med en parameter er en native metode, dvs. implementeringen av denne metoden gjøres i et annet programmeringsspråk og den andre metoden med to parametere er ikke en native metode, dvs. implementeringen gjøres i Java. Begge søvnmetodene er statiske, det vil si at vi får tilgang til dem ved å bruke Thread-klassen. Begge metodene kaster et avkrysset unntak, dvs. vi kan håndtere unntaket enten ved å bruke nøkkelordet throws eller ved å bruke try and catch-blokk.

Vi kan bruke Thread.Sleep()-metoden for hvilken som helst tråd, det vil si at vi kan gjøre det med hovedtråden eller en hvilken som helst annen tråd som vi lager programmatisk.



1. Bruke Thread.Sleep()-metoden for 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);> >}> >}> }>

>

>

Produksjon

css bryte tekst
0 1 2 3 4>

2. Bruke Thread.Sleep()-metoden for tilpasset 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();> >}> }>

>

>

Produksjon

regex i java
0 1 2 3 4>

3. UlovligArgumentUnntak når søvntiden er negativ

Java


java generere tilfeldig tall



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

>

>

Produksjon

java.lang.IllegalArgumentException: timeout value is negative>