जावा एपीआई डॉक से:जब जावा में धागा स्मृति से हटा दिया जाता है?
सभी थ्रेड कि डेमॉन धागे मौत हो चुकी है नहीं कर रहे हैं, या तो करने के लिए कॉल से वापस लौट कर:
जावा वर्चुअल मशीन जब तक निम्नलिखित होता धागे पर अमल करने के लिए जारी रन विधि या अपवाद फेंककर रन विधि से परे प्रचारित करता है।
मुझे आशा है कि मेरी धारणा सही है कि एक बार थ्रेड run()
विधि को समाप्त कर देता है, यह कचरा संग्रह के लिए योग्य हो जाता है। एक है कि ऐसा करने के लिए null
करने के लिए अपने संदर्भ के लिए सेट करना चाहिए run()
से लौटने के बाद
- यदि यह कचरा संग्रहण के लिए पात्र नहीं बन जाता है: एक ही संदर्भ में मैं बस के बारे में जानने के लिए उत्सुक हूँ?
- कचरा संग्रह के लिए योग्य होने का मतलब यह नहीं है कि ऑब्जेक्ट स्मृति से हटा दिया जाएगा। अंतर्निहित ऑपरेटिंग सिस्टम/जेवीएम के कचरे के एकत्र होने पर यह विवेकाधिकार पर है। लेकिन कोई कैसे सुनिश्चित कर सकता है (या तो जावा प्रोग्राम या बाहरी उपकरण के माध्यम से) कि ऑब्जेक्ट मेमोरी से पूरी तरह से हटा दिया गया है?
- यदि एक थ्रेड कहा जाता है कि यह एक रन() विधि समाप्त हो जाने के बाद मृत होता है, तो क्यों मैं
isAlive()
याgetState()
को पर समान थ्रेड ऑब्जेक्ट निष्पादित करने में सक्षम हो सकता हूं? दोनों कॉल क्रमश:false
औरRUNNABLE
लौटते हैं।
जीसी जड़ें – ciamej