Online Ethical Hacking Course

Apply Now
Java Tutorial in Hindi

जावा में थ्रेड का लाइफ सायकल - Life Cycle of Thread in Java in Hindi

Table of Contents

  • परिचय
  • जावा में मल्टीथ्रेडिंग क्या है?
  • जावा में थ्रेड्स का लाइफ साइकल (Life Cycle of Threads in Java in Hindi)
  • जावा में थ्रेड स्टेट्स का इम्प्लीमेंटेशन

जावा में थ्रेड लाइफसाइकल से संबंधित अक्सर पूछे जाने वाले प्रश्न

जावा में, थ्रेड Execution की एक हल्की इकाई है जो एक प्रोग्राम के भीतर concurrent processing की अनुमति देती है। यह Execution के एक स्वतंत्र पथ का प्रतिनिधित्व करता है जो अन्य थ्रेड्स के साथ एक साथ कार्य कर सकता है।
जावा में थ्रेड different stages में मौजूद हो सकते हैं, जिनमें शामिल हैं: New: थ्रेड बन गया है लेकिन अभी तक शुरू नहीं हुआ है। Runnable: थ्रेड चलने योग्य है, और जावा वर्चुअल मशीन (JVM) इसे Execution के लिए शेड्यूल करती है। Blocked: थ्रेड एक सिंक्रनाइज़ ब्लॉक या मेथड में प्रवेश करने के लिए मॉनिटर लॉक की प्रतीक्षा कर रहा है। Waiting: थ्रेड किसी विशेष स्थिति के घटित होने के लिए indefinitely तक प्रतीक्षा कर रहा है। Timed Waiting: थ्रेड किसी Situation के घटित होने के लिए एक Specified समय की प्रतीक्षा कर रहा है। Terminated: थ्रेड ने अपना Execution पूरा कर लिया है या स्पष्ट रूप से terminated कर दिया है।
जावा में एक थ्रेड या तो थ्रेड क्लास का विस्तार करके या रननेबल इंटरफ़ेस को लागू करके बनाया जा सकता है। बाद वाला दृष्टिकोण आम तौर पर पसंद किया जाता है क्योंकि यह बेहतर कोड एनकैप्सुलेशन की अनुमति देता है।
एक थ्रेड अपने निष्पादन और different states के आधार पर states के बीच परिवर्तित होता है। उदाहरण के लिए, एक थ्रेड "नई" स्थिति से "रनने योग्य" स्थिति में चला जाता है जब इसे `start() method का उपयोग करके शुरू किया जाता है। different states में Infection, जैसे "Blocked," "Waiting," or "Timed Waiting," occur, तब होता है जब थ्रेड को सिंक्रनाइज़ेशन या wait-related Operation का सामना करना पड़ता है। अंत में, एक थ्रेड "Terminated" स्थिति में प्रवेश करता है जब वह अपना Execution पूरा कर लेता है या स्पष्ट रूप से समाप्त हो जाता है।
थ्रेड ऑब्जेक्ट पर `इंटरप्ट ()' मेथड लागू करके थ्रेड को बाधित किया जा सकता है। यह एक इंटरप्ट फ़्लैग सेट करता है, जिसे थ्रेड द्वारा समय-समय पर इसके Execution से बाहर निकलने के लिए जांचा जा सकता है। इसके अतिरिक्त, थ्रेड को `stop()` method को लागू करके स्पष्ट रूप से समाप्त किया जा सकता है, हालांकि संभावित थ्रेड Security and resource cleanup issues के कारण इस दृष्टिकोण को आम तौर पर discouraged किया जाता है।
जब कोई थ्रेड अपना Execution पूरा कर लेता है, तो वह "Terminated" स्थिति में प्रवेश कर जाता है। इस बिंदु पर, इसके संसाधन जारी हो जाते हैं, और यह अब execution के लिए शेड्यूल करने योग्य नहीं है। किसी थ्रेड की समाप्ति का पता उसकी स्थिति की जाँच करके या `जॉइन()` जैसे सिंक्रनाइज़ेशन mechanisms का उपयोग करके किया जा सकता है।
नहीं, एक बार जब कोई थ्रेड "termination" स्थिति में प्रवेश कर जाता है, तो वह किसी अन्य स्थिति में Infection नहीं कर सकता है। एक बार जब कोई थ्रेड अपना execution पूरा कर लेता है, तो उसका active unit के रूप में अस्तित्व समाप्त हो जाता है।
Did you find this article helpful?