नींद बनाम प्रतीक्षा: अंतर और तुलना

कुछ कार्यों को करने के लिए जावा के पास कई तरीके हैं।

एक विधि कोड का एक समूह है जो केवल तभी चलता है जब उसे बुलाया जाता है; और परिणाम वापस आ भी सकता है और नहीं भी।

जैसे तरीके नींद और wait का उपयोग मल्टीथ्रेडिंग के लिए किया जाता है। वे दोनों रुकते हैं और धागे को प्रतीक्षा में भेजते हैं लेकिन कार्यप्रणाली में बड़े अंतर हैं।

चाबी छीन लेना

  1. "नींद" आराम की एक अवस्था है जिसमें शरीर और दिमाग निष्क्रिय होते हैं, जबकि "प्रतीक्षा" एक स्थान पर रहना या किसी विशिष्ट घटना के घटित होने तक कार्रवाई में देरी करना है।
  2. "नींद" एक प्राकृतिक और आवश्यक शारीरिक क्रिया है, जबकि "प्रतीक्षा" एक स्वैच्छिक क्रिया है जिसे चुना या टाला जा सकता है।
  3. "नींद" रात के समय से जुड़ी है, जबकि "प्रतीक्षा" दिन के किसी भी समय हो सकती है।

नींद बनाम रुको

स्लीप () और वेट () मेथड के बीच अंतर यह है कि स्लीप () मेथड का उपयोग प्रोग्राम में एक विशेष समय अवधि के लिए वर्तमान थ्रेड के निष्पादन को रोकने के लिए किया जाता है, जबकि वेट () मेथड का उपयोग प्रोग्राम में रुकने के लिए किया जाता है। या मौजूदा थ्रेड को तब तक निलंबित रखें जब तक कि विशिष्ट विधियां लागू न हो जाएं।

नींद बनाम रुको

स्लीप विधि के उपयोग के दौरान, वर्तमान थ्रेड मॉनिटर का स्वामित्व नहीं खोता है।

नींद एक स्थिर विधि है और क्लास थ्रेड का एक हिस्सा है। प्रतीक्षा समय समाप्त होने के बाद, थ्रेड मूल चलने योग्य स्थिति में वापस चला जाता है।

यह प्रतीक्षा के दौरान सीपीयू का पूर्ण उपयोग सुनिश्चित करता है।

जबकि wait() विधि का उपयोग किया जाता है जावा प्रोग्राम वर्तमान थ्रेड को तब तक प्रतीक्षा करने का आदेश देता है जब तक कि उस ऑब्जेक्ट के लिए कोई अन्य थ्रेड लागू न हो जाए।

मॉनिटर पर नियंत्रण प्राप्त करने के बाद थ्रेड निष्पादन जारी रखता है।

यह नींद के विपरीत एक स्थिर विधि नहीं है, और एक ऑब्जेक्ट क्लास का हिस्सा है।

तुलना तालिका

तुलना के पैरामीटरनींदरुकिए
वर्गस्लीप मेथड थ्रेड क्लास का एक हिस्सा है प्रतीक्षा विधि वस्तु वर्ग का एक हिस्सा है
विधि का प्रकारनींद एक स्थिर विधि हैप्रतीक्षा एक स्थिर तरीका नहीं है
कॉलिंग तकनीकस्लीप मेथड को सिंक्रोनाइज़्ड कॉन्टेक्स्ट के बाहर से कॉल किया जा सकता हैप्रतीक्षा विधि को केवल सिंक्रनाइज़ किए गए संदर्भ से ही कॉल किया जा सकता है
लॉक रिलीजसिंक्रोनाइज़ेशन के दौरान स्लीप मेथड निर्दिष्ट टाइमआउट के लिए ऑब्जेक्ट पर लॉक को रिलीज़ नहीं करता हैसिंक्रनाइज़ेशन के दौरान निष्पादित करने का मौका पाने के लिए प्रतीक्षा विधि ऑब्जेक्ट पर लॉक जारी करती है
घोषणासार्वजनिक स्थैतिक शून्य नींद () सार्वजनिक अंतिम शून्य प्रतीक्षा ()

सोना क्या है?

थ्रेड स्लीप () जावा प्रोग्राम में एक स्थिर विधि है जो वर्तमान थ्रेड को निलंबित कर देती है और इसे एक निर्धारित समय अवधि के लिए प्रतीक्षा स्थिति में डाल देती है।

यह भी पढ़ें:  सु बनाम सुडो: अंतर और तुलना

एक बार प्रतीक्षा स्थिति और समय समाप्त हो जाने पर, थ्रेड स्थिति को चलने योग्य स्थिति में बदल दिया जाता है। और फिर आगे के निष्पादन के लिए सीपीयू की प्रतीक्षा करता है।

इस पद्धति का उद्देश्य प्रोग्राम में कुछ सेकंड की देरी पैदा करना और साथ ही सीपीयू का अधिकतम उपयोग करना है।

यदि सिस्टम व्यस्त या अतिभारित है, तो प्रतीक्षा या ठहराव का समय अधिक है, और अन्यथा, यह वास्तविक समय से कम या उसके बराबर होगा।

वापसी प्रकार की नींद विधि को शून्य कहा जा सकता है, क्योंकि यह कोई मूल्य नहीं लौटाती है।

स्लीप थ्रेड मॉनिटर को नहीं खोता है या उस थ्रेड को लॉक नहीं करता है जिसे उसने पहले ही हासिल कर लिया है।

यदि, किसी भी स्थिति में, नींद में खलल पड़ता है, तो थ्रेड इंटरप्टेड_एक्सेप्शन फेंक देगा।

वास्तविक अवधि थ्रेड किस प्रकार सोएगा यह शेड्यूलर और सिस्टम टाइमर पर निर्भर करता है जो ऑपरेटिंग सिस्टम का एक हिस्सा हैं।

नींद विधि का सिंटैक्स है - सार्वजनिक स्थैतिक शून्य नींद (लंबी मिलीसेकंड)

सार्वजनिक स्थैतिक शून्य नींद (लंबी मिलीसेकंड, इंट नैनोसेकंड)

यहां मिलीसेकंड और नैनोसेकंड वह समय है जिसके लिए धागा सो जाएगा।

नींद

रुको क्या है?

प्रतीक्षा करें () इंटर-थ्रेड संचार के लिए उपयोग की जाने वाली एक विधि है।

जब भी wait() थ्रेड का उपयोग किया जाता है, तो कॉलिंग या वर्तमान थ्रेड को रोक दिया जाता है और तब तक निलंबित कर दिया जाता है जब तक कि सिस्टम में notify() या notifyAll() जैसी विधियां लागू नहीं हो जातीं।

Inform() विधि निर्दिष्ट थ्रेड को जगा देगी जबकि NotifyAll() प्रत्येक थ्रेड के लिए लागू है।

जब सिंक्रनाइज़ किया जाता है, तो प्रतीक्षा विधि संसाधनों को लॉक कर देती है।

Wait मेथड का कोई रिटर्न वैल्यू नहीं होता है, इसलिए यह कहा जा सकता है कि यह void रिटर्न करता है।

यह भी पढ़ें:  एयरड्रॉप क्या है? यह कैसे काम करता है? - एक व्यापक मार्गदर्शिका

प्रतीक्षा विधि के दो अपवाद हैं Interpted_Exception (जब वर्तमान थ्रेड अपनी नींद के दौरान बाधित होता है) और IllegalMonitorStateException (जब वर्तमान थ्रेड मॉनिटर पर ऑब्जेक्ट का स्वामी नहीं है)।

प्रतीक्षा विधि वस्तु वर्ग का एक हिस्सा है। विधि केवल लागू है और इसे एक सिंक्रनाइज़ ब्लॉक पर बुलाया जा सकता है।

प्रतीक्षा विधि सिंक्रनाइज़ेशन के दौरान निलंबित या लॉक स्क्रीन को मुक्त कर देती है।

और प्रतीक्षा विधि विशेष रूप से सिंक्रनाइज़ किए गए एकाधिक थ्रेड्स को एक ही ऑब्जेक्ट को एक-एक करके एक्सेस करने की अनुमति देती है।

प्रतीक्षा विधि का सिंटैक्स है - सार्वजनिक अंतिम शून्य प्रतीक्षा ()

प्रतीक्षा

नींद और प्रतीक्षा के बीच मुख्य अंतर

  1. स्लीप विधि थ्रेड को एक निर्दिष्ट और विशेष समय अवधि के लिए स्लीप करने का कारण बनती है, निर्दिष्ट टाइमआउट के लिए जब तक कि समाप्त या बाधित न हो जाए, जबकि वेट विधि थ्रेड को तब तक स्लीप में रखती है जब तक कि notify() या notifyAll() जैसी विधियां लागू न हो जाएं।
  2. स्लीप विधि एक थ्रेड पर निष्पादित होती है, जबकि प्रतीक्षा विधि किसी ऑब्जेक्ट पर निष्पादित होती है।
  3. स्लीप विधि का उपयोग समय सिंक्रनाइज़ेशन के लिए किया जाता है, जबकि प्रतीक्षा विधि का उपयोग एकाधिक-थ्रेड सिंक्रनाइज़ेशन के लिए किया जाता है।
  4. वेट थ्रेड के दौरान, सिंक्रोनाइज़्ड मल्टीपल थ्रेड्स एक ही ऑब्जेक्ट को आसन्न रूप से एक्सेस कर सकते हैं, जबकि स्लीप थ्रेड में, सिंक्रोनाइज़्ड मल्टीपल थ्रेड्स को वर्तमान थ्रेड की स्लीप खत्म होने का इंतजार करना पड़ता है।
  5. प्रतीक्षा विधि लॉक या मॉनिटर को मुक्त सेट करती है, जबकि स्लीप विधि वर्तमान थ्रेड के स्लीप या प्रतीक्षा के दौरान मॉनिटर को मुक्त नहीं करती है।
X और Y के बीच अंतर 2023 05 10T161359.507
संदर्भ
  1. https://pdfs.semanticscholar.org/51fd/24ae444910fd39b117bb3044a12591f038fa.pdf
  2. https://dl.acm.org/doi/pdf/10.1145/289524.289572

अंतिम अद्यतन: 31 जुलाई, 2023

बिंदु 1
एक अनुरोध?

मैंने आपको मूल्य प्रदान करने के लिए इस ब्लॉग पोस्ट को लिखने में बहुत मेहनत की है। यदि आप इसे सोशल मीडिया पर या अपने मित्रों/परिवार के साथ साझा करने पर विचार करते हैं, तो यह मेरे लिए बहुत उपयोगी होगा। साझा करना है ♥️

"नींद बनाम प्रतीक्षा: अंतर और तुलना" पर 18 विचार

  1. लेख स्पष्ट और संक्षिप्त तुलना प्रदान करते हुए, नींद और प्रतीक्षा के तरीकों के बीच अंतर को प्रभावी ढंग से स्पष्ट करता है। सिंक्रोनाइज़ेशन और लॉक रिलीज़ का विवरण विशेष रूप से सहायक है।

    जवाब दें
    • यह लेख नींद और प्रतीक्षा के तरीकों के बीच अंतर को चित्रित करने का उत्कृष्ट काम करता है। सिंक्रोनाइज़ेशन और लॉक रिलीज़ के बारे में जानकारी स्पष्टता और सटीकता के साथ प्रस्तुत की गई है।

      जवाब दें
  2. नींद और प्रतीक्षा के तरीकों की विस्तृत व्याख्या उत्कृष्ट है। यह लेख इन मूलभूत जावा अवधारणाओं की समझ बढ़ाने के इच्छुक किसी भी व्यक्ति के लिए एक मूल्यवान संपत्ति है।

    जवाब दें
  3. यह जावा में नींद और प्रतीक्षा के तरीकों की एक व्यापक तुलना है। लेख स्पष्ट रूप से मुख्य अंतरों को रेखांकित करता है और संदर्भ के लिए एक उपयोगी तुलना तालिका प्रदान करता है।

    जवाब दें
    • नींद और प्रतीक्षा के तरीकों का विस्तृत विवरण बहुत ही ज्ञानवर्धक है। जावा प्रोग्रामिंग में इन विधियों की बारीकियों और कार्यात्मकताओं को समझना मूल्यवान है।

      जवाब दें
    • मुझे नींद और प्रतीक्षा के तरीकों की व्याख्या जानकारीपूर्ण और सटीक लगी। तुलना तालिका इन विधियों की विपरीत विशेषताओं को संक्षेप में प्रस्तुत करने में विशेष रूप से सहायक है।

      जवाब दें
  4. यह लेख जावा में नींद और प्रतीक्षा के तरीकों के बीच गहन तुलना प्रदान करता है। मैं विस्तृत स्पष्टीकरणों की सराहना करता हूं, जो उनकी कार्यप्रणाली में मूल्यवान अंतर्दृष्टि प्रदान करते हैं।

    जवाब दें
    • मुझे लेख जानकारीपूर्ण और अच्छी तरह से तैयार किया गया लगा। नींद और प्रतीक्षा विधियों की व्याख्या जावा में उनके उपयोग और निहितार्थ की बेहतर समझ के लिए अनुकूल है।

      जवाब दें
  5. यह लेख नींद और प्रतीक्षा के तरीकों की एक विस्तृत तुलना प्रदान करता है, जो जावा प्रोग्रामिंग के भीतर उनके व्यवहार और कार्यक्षमता में व्यापक अंतर्दृष्टि प्रदान करता है।

    जवाब दें
  6. यह आलेख जावा में नींद और प्रतीक्षा के तरीकों को समझने के लिए एक मूल्यवान संसाधन है। स्पष्टीकरण विस्तृत हैं, और तुलना तालिका इन विधियों के बीच असमानताओं को समझने के लिए एक सुविधाजनक संदर्भ प्रदान करती है।

    जवाब दें
    • मेरी भी यही भावना है, वोमॉर्गन। तुलना तालिका अंतरों का स्पष्ट अवलोकन प्रदान करती है, और विस्तृत विवरण नींद और प्रतीक्षा विधियों की समझ को बढ़ाते हैं।

      जवाब दें
  7. लेख के लिए आपको धन्यवाद। मैं नींद और प्रतीक्षा के तरीकों के बीच अंतर की विस्तृत व्याख्या की सराहना करता हूं। जावा प्रोग्राम में वे कैसे कार्य करते हैं, इसकी स्पष्ट समझ होना अच्छा है।

    जवाब दें
    • अवधारणा के बारे में आपकी व्याख्या बहुत अच्छी तरह से संरचित और समझने में आसान है। मैं सहमत हूं कि इन मूलभूत तरीकों पर स्पष्टता होना महत्वपूर्ण है।

      जवाब दें
  8. इस लेख में नींद और प्रतीक्षा के तरीकों के बीच अंतर को विस्तार से समझाया गया है। मुझे सिंक्रोनाइज़ेशन के दौरान प्रतीक्षा पद्धति के व्यवहार की व्याख्या विशेष रूप से ज्ञानवर्धक लगी।

    जवाब दें
    • मैं सहमत हूं, फ्रेया। यह आलेख प्रतीक्षा विधि के व्यवहार की स्पष्ट और सटीक व्याख्या प्रदान करता है, जिससे जावा में इसकी कार्यक्षमता को समझना आसान हो जाता है।

      जवाब दें
    • नींद और प्रतीक्षा के तरीकों के व्यवहार और वापसी के प्रकारों का लेख का विवरण अत्यधिक जानकारीपूर्ण है। जावा में प्रभावी मल्टीथ्रेडिंग के लिए इन अंतरों को समझना आवश्यक है।

      जवाब दें
  9. मुझे लेख अत्यधिक जानकारीपूर्ण और ज्ञानवर्धक लगा। नींद और प्रतीक्षा विधियों का गहन विश्लेषण जावा में उनकी बारीकियों और निहितार्थों को समझने में बहुत योगदान देता है।

    जवाब दें
  10. यह लेख जावा में नींद और प्रतीक्षा के तरीकों का व्यापक विश्लेषण प्रदान करता है। स्पष्टीकरण सुव्यवस्थित हैं और इन मूलभूत तरीकों की गहरी समझ में बहुत योगदान देते हैं।

    जवाब दें

एक टिप्पणी छोड़ दो

क्या आप इस लेख को बाद के लिए सहेजना चाहते हैं? अपने लेख बॉक्स में सहेजने के लिए नीचे दाएं कोने में दिल पर क्लिक करें!