„Java Thread“ klasė pateikia du „sleep()“ metodo variantus. Pirmasis priima tik vieną argumentą, o kitas variantas priima du argumentus. Sleep() metodas naudojamas gijos veikimui sustabdyti tam tikram laikui. Laikas, iki kurio siūlas išlieka miego būsenoje, yra žinomas kaip sriegio miego laikas. Pasibaigus miego laikui, siūlas pradeda eiti iš ten, kur išėjo.
„Sleep()“ metodo sintaksė:
Toliau pateikiama miego () metodo sintaksė.
public static void sleep(long mls) throws InterruptedException public static void sleep(long mls, int n) throws InterruptedException
Metodas sleep() su vienu parametru yra vietinis metodas, o savasis metodas įgyvendinamas kita programavimo kalba. Kiti metodai, turintys du parametrus, nėra vietinis metodas. Tai yra, jo įgyvendinimas atliktas Java. Sleep() metodus galime pasiekti naudodami Thread klasę, nes sleep() metodų paraše yra statinis raktinis žodis. Gimtasis, kaip ir nevietinis metodas, meta pažymėtą Išimtį. Todėl čia gali veikti arba try-catch block, arba raktinis žodis metimai.
Thread.sleep() metodas gali būti naudojamas su bet kokia gija. Tai reiškia, kad bet kuri kita gija arba pagrindinė gija gali iškviesti miego () metodą.
Parametrai:
Toliau pateikiami miego() metodo parametrai.
mls: Laikas milisekundėmis rodomas parametru mls. Gijos miego trukmę nurodo metodas sleep().
n: Tai rodo papildomą laiką, iki kurio programuotojas arba kūrėjas nori, kad gija būtų miego būsenoje. n diapazonas yra nuo 0 iki 999999.
Metodas nieko negrąžina.
Svarbūs dalykai, kuriuos reikia atsiminti apie miego () metodą
Vykdant Thread.sleep() metodus, jis visada sustabdo dabartinės gijos vykdymą.
Kai kita gija nutrūksta, o dabartinė gija jau veikia pristabdytosios veiksenos režimu, rodoma InterruptedException.
Jei sistema, kuri vykdo gijas, yra užimta, tada tikrasis gijos miego laikas paprastai yra ilgesnis, palyginti su laiku, praleistu argumentuose. Tačiau jei sistema, vykdanti „sleep()“ metodą, turi mažesnę apkrovą, tikroji gijos miego trukmė yra beveik lygi laikui, praleistam argumente.
„Java“ metodo „sleep()“ pavyzdys: tinkintoje gijoje
Šiame pavyzdyje parodyta, kaip tinkintoje gijoje galima naudoti miego () metodą.
Failo pavadinimas: TestSleepMethod1.java
java objektas į json
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++){>
Kaip žinote, vienu metu vykdoma tik viena gija. Jei užmigsite giją nurodytą laiką, gijų planavimo priemonė paima kitą giją ir pan.
„Sleep()“ metodo pavyzdys „Java“: pagrindinėje gijoje
Failo pavadinimas: 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()“ metodo pavyzdys „Java“: kai miego laikas yra -ive
Toliau pateiktame pavyzdyje pateikiama išimtis IllegalArguementException, kai miego laikas yra neigiamas.
Failo pavadinimas: 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;>
5;>5;>5;i++){>