logo

Thread.sleep() Java ar piemēriem

Java Thread klase nodrošina divus miega () metodes variantus. Pirmais pieņem tikai argumentus, bet otrs variants pieņem divus argumentus. Metode sleep() tiek izmantota, lai uz noteiktu laiku apturētu pavediena darbību. Laiks, līdz kuram pavediens paliek miega stāvoklī, ir zināms kā diega miega laiks. Pēc miega laika beigām pavediens sāk savu izpildi no vietas, kur tas ir aizgājis.

Kā uzzināt monitora izmēru

Miega () metodes sintakse:

Tālāk ir sniegta miega () metodes sintakse.

 public static void sleep(long mls) throws InterruptedException public static void sleep(long mls, int n) throws InterruptedException 

Metode sleep() ar vienu parametru ir vietējā metode, un vietējās metodes ieviešana tiek veikta citā programmēšanas valodā. Pārējās metodes, kurām ir divi parametri, nav sākotnējā metode. Tas ir, tā ieviešana tiek veikta Java. Sleep() metodēm mēs varam piekļūt ar Thread klases palīdzību, jo sleep() metožu paraksts satur statisko atslēgvārdu. Dzimtā, tāpat kā ne-native metode, iemet pārbaudītu Izņēmumu. Tāpēc šeit var darboties vai nu try-catch bloks, vai arī metienu atslēgvārds.

Metodi Thread.sleep() var izmantot ar jebkuru pavedienu. Tas nozīmē, ka jebkurš cits pavediens vai galvenais pavediens var izsaukt miega () metodi.

Parametri:

Tālāk ir norādīti miega () metodē izmantotie parametri.

mls: Laiks milisekundēs tiek attēlots ar parametru mls. Ilgumu, uz kuru pavediens gulēs, nosaka metode sleep().

klēpjdatora ievietošanas atslēga

n: Tas parāda papildu laiku, līdz kuram programmētājs vai izstrādātājs vēlas, lai pavediens būtu miega stāvoklī. Diapazons n ir no 0 līdz 999999.

Metode neko neatgriež.

Svarīgi punkti, kas jāatceras par miega () metodi

Ikreiz, kad tiek izpildītas metodes Thread.sleep(), tās vienmēr aptur pašreizējā pavediena izpildi.

modifikācijas taustiņi

Ikreiz, kad tiek pārtraukts cits pavediens, kamēr pašreizējais pavediens jau ir miega režīmā, tiek parādīts InterruptedException.

Ja sistēma, kas izpilda pavedienus, ir aizņemta, tad faktiskais pavediena miega laiks parasti ir lielāks nekā argumentos pavadītais laiks. Tomēr, ja sistēmai, kas izpilda miega () metodi, ir mazāka slodze, tad pavediena faktiskais miega laiks ir gandrīz vienāds ar argumentā pavadīto laiku.

Sleep() metodes piemērs Java: pielāgotajā pavedienā

Šis piemērs parāda, kā pielāgotajā pavedienā var izmantot miega () metodi.

Faila nosaukums: TestSleepMethod1.java

kā es varu uzzināt sava monitora izmēru
 class TestSleepMethod1 extends Thread{ public void run(){ for(int i=1;i<5;i++){ 500 the thread will sleep for milli seconds try{thread.sleep(500);}catch(interruptedexception e){system.out.println(e);} system.out.println(i); } public static void main(string args[]){ testsleepmethod1 t1="new" testsleepmethod1(); t2="new" t1.start(); t2.start(); < pre> <p> <strong>Output:</strong> </p> <pre> 1 1 2 2 3 3 4 4 </pre> <p>As you know well that at a time only one thread is executed. If you sleep a thread for the specified time, the thread scheduler picks up another thread and so on.</p> <h3>Example of the sleep() Method in Java : on the main thread</h3> <p> <strong>FileName:</strong> TestSleepMethod2.java</p> <pre> // important import statements import java.lang.Thread; import java.io.*; public class TestSleepMethod2 { // main method public static void main(String argvs[]) { try { for (int j = 0; j <5; 1 1000 j++) { the main thread sleeps for milliseconds, which is sec whenever loop runs thread.sleep(1000); displaying value of variable system.out.println(j); } catch (exception expn) catching exception system.out.println(expn); < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 2 3 4 </pre> <h3>Example of the sleep() Method in Java: When the sleeping time is -ive</h3> <p>The following example throws the exception IllegalArguementException when the time for sleeping is negative.</p> <p> <strong>FileName:</strong> TestSleepMethod3.java</p> <pre> // important import statements import java.lang.Thread; import java.io.*; public class TestSleepMethod3 { // main method public static void main(String argvs[]) { // we can also use throws keyword followed by // exception name for throwing the exception try { for (int j = 0; j <5; j++) { it throws the exception illegalargumentexception as time is -ive which -100 thread.sleep(-100); displaying variable's value system.out.println(j); } catch (exception expn) iscaught here system.out.println(expn); < pre> <p> <strong>Output:</strong> </p> <pre> java.lang.IllegalArgumentException: timeout value is negative </pre> <hr></5;></pre></5;></pre></5;i++){>

Kā jūs labi zināt, vienlaikus tiek izpildīts tikai viens pavediens. Ja jūs gulējat pavedienu uz norādīto laiku, pavedienu plānotājs paņem citu pavedienu un tā tālāk.

Sleep() metodes piemērs Java valodā: galvenajā pavedienā

Faila nosaukums: TestSleepMethod2.java

 // important import statements import java.lang.Thread; import java.io.*; public class TestSleepMethod2 { // main method public static void main(String argvs[]) { try { for (int j = 0; j <5; 1 1000 j++) { the main thread sleeps for milliseconds, which is sec whenever loop runs thread.sleep(1000); displaying value of variable system.out.println(j); } catch (exception expn) catching exception system.out.println(expn); < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 2 3 4 </pre> <h3>Example of the sleep() Method in Java: When the sleeping time is -ive</h3> <p>The following example throws the exception IllegalArguementException when the time for sleeping is negative.</p> <p> <strong>FileName:</strong> TestSleepMethod3.java</p> <pre> // important import statements import java.lang.Thread; import java.io.*; public class TestSleepMethod3 { // main method public static void main(String argvs[]) { // we can also use throws keyword followed by // exception name for throwing the exception try { for (int j = 0; j <5; j++) { it throws the exception illegalargumentexception as time is -ive which -100 thread.sleep(-100); displaying variable\'s value system.out.println(j); } catch (exception expn) iscaught here system.out.println(expn); < pre> <p> <strong>Output:</strong> </p> <pre> java.lang.IllegalArgumentException: timeout value is negative </pre> <hr></5;></pre></5;>

Sleep() metodes piemērs Java valodā: Kad miega laiks ir -ive

Nākamajā piemērā ir ietverts izņēmums IllegalArguementException, ja gulēšanas laiks ir negatīvs.

Faila nosaukums: TestSleepMethod3.java

 // important import statements import java.lang.Thread; import java.io.*; public class TestSleepMethod3 { // main method public static void main(String argvs[]) { // we can also use throws keyword followed by // exception name for throwing the exception try { for (int j = 0; j <5; j++) { it throws the exception illegalargumentexception as time is -ive which -100 thread.sleep(-100); displaying variable\'s value system.out.println(j); } catch (exception expn) iscaught here system.out.println(expn); < pre> <p> <strong>Output:</strong> </p> <pre> java.lang.IllegalArgumentException: timeout value is negative </pre> <hr></5;>