sleep() मेथड Thread क्लास का एक स्टैटिक मेथड है और यह थ्रेड को एक विशिष्ट समय के लिए सोना/रोकना बनाता है। यदि कोई थ्रेड अन्य थ्रेड्स द्वारा बाधित होता है तो sleep() मेथड InterruptedException फेंकता है, इसका मतलब है कि Thread.sleep() मेथड को try और catch ब्लॉक्स के भीतर संलग्न किया जाना चाहिए या इसे throws क्लॉज के साथ निर्दिष्ट किया जाना चाहिए। जब भी हम Thread.sleep() मेथड को कॉल करते हैं, यह थ्रेड शेड्यूलर के साथ इंटरैक्ट कर सकता है ताकि वर्तमान थ्रेड को एक विशिष्ट अवधि के लिए वेटिंग स्टेट में रखा जा सके। एक बार प्रतीक्षा समय समाप्त हो जाने पर, थ्रेड वेटिंग स्टेट से रनेबल स्टेट में बदल जाता है।
सिंटैक्स
public static void sleep(long milliseconds) public static void sleep(long milliseconds, int nanoseconds)
sleep(long milliseconds) मेथड थ्रेड को केवल कुछ विशिष्ट मिलीसेकंड के लिए सुलाता है।
sleep(long milliseconds, int nanoseconds) मेथड थ्रेड को कुछ विशिष्ट मिलीसेकंड प्लस नैनोसेकंड के लिए सुलाता है।
उदाहरण
class UserThread extends Thread {
public void run() {
for(int i=1; i <= 5; i++) {
System.out.println("यूजर थ्रेड");
try {
Thread.sleep(1000); // थ्रेड को 1 सेकंड के लिए सुलाना/रोकना
} catch(InterruptedException e) {
System.out.println("एक अपवाद हुआ: " + e);
}
}
}
}
public class SleepMethodTest {
public static void main(String args[]) {
UserThread ut = new UserThread();
ut.start(); // थ्रेड शुरू करने के लिए
}
}
आउटपुट
यूजर थ्रेड यूजर थ्रेड यूजर थ्रेड यूजर थ्रेड यूजर थ्रेड