Java Thread Garbage Collection
दिए गए कोड स्निपेट में, एक अनाम वर्ग का उपयोग करके एक नया थ्रेड बनाया जाता है और लाइन ए में शुरू किया जाता है। फिर थ्रेड संदर्भ "टी" को पंक्ति बी में शून्य पर सेट किया जाता है, जिससे प्रभावी रूप से मुख्य थ्रेड के भीतर थ्रेड के सभी संदर्भ हटा दिए जाते हैं।
क्यों थ्रेड जीवित रहता है
आपकी धारणा के विपरीत, थ्रेड को लाइन बी के बाद कचरा एकत्र नहीं होता है। ऐसा इसलिए है क्योंकि चलने वाले थ्रेड को कचरा संग्रहण रूट माना जाता है।
कचरा संग्रहण जड़ें
कचरा संग्रहण जड़ें ऐसी वस्तुएं हैं जो या तो सीधे मुख्य थ्रेड द्वारा पहुंच योग्य होती हैं या किसी अन्य पहुंच योग्य वस्तु द्वारा पहुंच योग्य होती हैं। कचरा संग्रहण रूट से पहुंच योग्य कोई भी वस्तु "लाइव" मानी जाती है और कचरा संग्रहण के लिए योग्य नहीं है। एक कचरा संग्रहण रूट है, मुख्य थ्रेड का कोई संदर्भ न होने के बाद भी थ्रेड ऑब्जेक्ट जीवित और सक्रिय रहता है। यह सुनिश्चित करता है कि थ्रेड तब तक चलता रहे जब तक कि वह अपना कार्य पूरा नहीं कर लेता या मैन्युअल रूप से बंद नहीं हो जाता। रूट क्योंकि यह प्रोग्राम का प्रवेश बिंदु है। इसलिए, यह प्रोग्राम समाप्त होने तक सक्रिय रहता है, भले ही प्रोग्राम के बाहर से इसका कोई संदर्भ न हो।
निष्कर्ष
संक्षेप में, एक चल रहा जावा थ्रेड इसे कचरा संग्रहण रूट माना जाता है, यह सुनिश्चित करते हुए कि यह सक्रिय और चालू रहता है, भले ही मुख्य थ्रेड में इसका कोई संदर्भ न हो। यह सुनिश्चित करने के लिए आवश्यक है कि थ्रेड कचरा संग्रहण द्वारा समय से पहले समाप्त किए बिना कार्यों को निष्पादित करना जारी रख सकें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3