Thread.currentThread()
स्थिर विधि है जो वर्तमान में थ्रेड निष्पादित करने के संदर्भ प्रदान करता है (मूल रूप से 'इस' धागे का संदर्भ)।Thread.currentThread() कैसे काम करता है?
गैर स्थैतिक सदस्यों (विशेष रूप से this
) तक पहुंचना एक स्थिर विधि के अंदर जावा में संभव नहीं है, इसलिए currentThread()
एक मूल विधि है।
currentThread()
दृश्यों के पीछे विधि कैसे काम करता है?
आप इस विधि को लागू करने वाले ओपनजेडीके कोड को देख सकते हैं। एक अनुमान में, मैं कहूंगा कि यह ओएस से पूछता है कि यह किस धागा पर है, फिर थ्रेड आईडी को थ्रेड ऑब्जेक्ट पर नक्शा करता है। –
मुझे 'वर्तमान थ्रेड' के कार्यान्वयन विवरण के बारे में पता नहीं है, लेकिन यदि आप अपने कोड में समान सामान्य यांत्रिकी का उपयोग करना चाहते हैं तो आप 'थ्रेडलोकल' का उपयोग कर सकते हैं। – duckstep
बहुत अच्छा सवाल है। विशेष रूप से, क्या ऑब्जेक्ट _currentThread() _ द्वारा वापस किया गया ऑब्जेक्ट हमेशा 'थ्रेड' ऑब्जेक्ट जैसा होता है जो ** थ्रेड ** शुरू करने के लिए उपयोग किया जाता है? क्या यह एक ही ** थ्रेड ** के लिए दो 'थ्रेड' ऑब्जेक्ट्स बना सकता है? क्या मूल कार्य एक ** थ्रेड ** बना सकता है और जावा कोड का आह्वान कर सकता है? ऐसे ** धागे ** के लिए क्या 'थ्रेड' ऑब्जेक्ट वापस किया जाएगा? – 18446744073709551615