नींद और रुको के बीच का अंतर

Anonim

स्लीप बनाम प्रतीक्षा करें

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

कंप्यूटर के आगमन से पहले, प्रोग्रामिंग भाषाएं पहले से ही करघे और पीनोओ में इस्तेमाल हो चुकी थीं जैसा कि कंप्यूटर का उपयोग अधिक आम हो गया, अब कई प्रोग्रामिंग भाषाओं का इस्तेमाल किया जा रहा था।

उच्च स्तर की भाषाओं सहित कई कंप्यूटर भाषाएं हैं: बेसिक, सी, सी ++, फोरट्रान, पास्कल, और जावा प्रत्येक वर्चुअल मशीन और सीपीयू की स्वयं की कम्प्यूटर भाषा होती है, प्रत्येक अपनी कमज़ोरियों और शक्तियों के साथ, और प्रत्येक वर्चुअल मशीन शुरू होने पर एक थ्रेड चलाती है। यह थ्रेड प्रोग्राम में एप्लिकेशन कोड को निष्पादित करता है। यह एक प्रोग्राम तेजी से चला सकता है और उनके प्रदर्शन और उपयोगिता में मदद कर सकता है, खासकर तब जब कई सूत्र उपयोग किए जाते हैं।

-2 ->

वर्चुअल मशीन, जैसे कि जावा आभासी मशीन, बहु-थ्रेडिंग अवधारणा का समर्थन करती है, जो उच्च प्राथमिकता वाले धागे के साथ समय पर प्रसंस्करण के निष्पक्ष विभाजन को सुनिश्चित करने के लिए पहली प्राथमिकता वाले प्राथमिकताओं के साथ मार डाला जाता है।

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

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

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

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

दूसरी ओर नींद की विधि को एक स्थिर विधि के रूप में परिभाषित किया गया है। इसमें थ्रेड का निष्पादन विलंब होता है और ऑब्जेक्ट नहीं होता है, साथ ही थ्रेड को निलंबित कर दिया जाता है जिसे निष्पादित किया जा रहा है। यह वर्तमान धागे को कुछ समय के लिए रनने योग्य स्थिति में भेजता है। यह उन अनुप्रयोगों के व्यवहार को प्रभावित कर सकता है जो बहु-थ्रेडेड होते हैं क्योंकि यह वर्तमान थ्रेड के सिंक्रनाइज़ेशन लॉक रखता है। एक बार धागा एक सिंक्रनाइज़ ब्लॉक में होता है, कोई अन्य थ्रेड ब्लॉक में प्रवेश नहीं कर सकता।

सारांश:

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

2। सो एक तरीका है जो थ्रेड्स निष्पादित करता है जबकि प्रतीक्षा एक ऐसी विधि होती है जो ऑब्जेक्ट निष्पादित करती है।

3। नींद वर्तमान धागा के सिंक्रनाइज़ेशन तालों को रखता है और इंतजार नहीं करता है, जबकि अनुप्रयोगों के व्यवहार को प्रभावित करता है।

4। नींद थ्रेड के निष्पादन को नियंत्रित करता है और दूसरे धागे को सिंक्रनाइज़ किए गए ब्लॉक में अनुमति नहीं देता है जबकि प्रतीक्षा थ्रेड के निष्पादन को अन्य धागे को चलाने के लिए नियंत्रित नहीं करता है।