में सिंक्रनाइज़ किए गए संदर्भ से Thread.sleep() को कॉल करना मैंने पढ़ा है कि Thread.sleep()
वर्तमान में चल रहे समय के लिए चल रहे थ्रेड को रोक देगा जिसके बाद यह चलने योग्य राज्य पर वापस जाने के लिए प्रतीक्षा कर रहा है।जावा
इसके अलावा, अगर synchronized
संदर्भ से कहा जाता है, तो sleep()
उस लॉक को जारी नहीं करता है। तो मैं सोच रहा था कि यह लॉक कब जारी करेगा। यदि थ्रेड, नींद डाला जाता है, तो कभी भी दौड़ने का मौका नहीं मिलता है, इसलिए यह हमेशा लॉक को अपने साथ रखेगा और फिर अन्य धागे सिंक्रनाइज़ किए गए तरीकों/ब्लॉक में कैसे प्रवेश करेंगे।
मुझे यकीन नहीं है कि मैं वैध प्रश्न पूछ रहा हूं या नहीं। लेकिन कृपया मेरी मदद करो।
वास्तव में, 'Thread.sleep()' को कॉल करना शायद एक अच्छा विचार नहीं है। अगर ऐसा कुछ है जो आप अभी कर सकते हैं, तो आपको इसे अभी करना चाहिए। यदि आपको कुछ भी करने से पहले कुछ इंतजार करना है, तो आपको सोने के बजाए उस चीज़ की प्रतीक्षा करनी चाहिए। –
@ डेविडस्वार्टज़: मैं सहमत हूं। हालांकि 'Thread.sleep()' के लिए वैध उपयोग हैं, लेकिन अक्सर इसका उपयोग किया जाता है जहां यह नहीं होना चाहिए। – NPE
अच्छी तरह से समझाया, लेकिन कह रहा है "सारांशित करने के लिए, एक सिंक्रनाइज़ ब्लॉक से Thread.sleep() को कॉल करना शायद एक अच्छा विचार नहीं है।" बहुत दूर जा रहा है। कभी-कभी आप प्रतीक्षा करना और ताला रखना चाहते हैं। – Jesus