मुझे जावा सिंक्रनाइज़ेशन के बारे में कोई संदेह है। मैं जानना चाहता हूं कि मेरे वर्ग में तीन सिंक्रनाइज़ किए गए तरीके हैं और एक थ्रेड एक सिंक्रनाइज़ विधि में लॉक प्राप्त करता है अन्य दो लॉक हो जाएंगे? मैं इस सवाल से पूछ रहा हूं क्योंकि मैं निम्नलिखित कथन से उलझन में हूं।जावा में सिंक्रनाइज़ेशन कैसे काम करता है?
एक धागा एक वस्तु का एक तुल्यकालन विधि के अंदर है, वहीं अन्य सभी धागे कि इच्छा निष्पादित करने के लिए इस सिंक्रनाइज़ विधि या वस्तु के किसी भी अन्य सिंक्रनाइज़ विधि प्रतीक्षा करनी होगी। यह प्रतिबंध उस थ्रेड पर लागू नहीं होता है जिसमें पहले से ही लॉक है और ऑब्जेक्ट की सिंक्रनाइज़ विधि को निष्पादित कर रहा है। इस तरह की एक विधि अवरुद्ध किए बिना ऑब्जेक्ट के अन्य सिंक्रनाइज़ किए गए तरीकों का आह्वान कर सकती है। ऑब्जेक्ट की गैर सिंक्रनाइज़ विधियों को किसी भी समय किसी भी थ्रेड
उस कथन का स्रोत क्या है और आपका भ्रम क्या है? आप इसे समझते हैं। किसी दूसरे से एक सिंक्रनाइज़ विधि का उपयोग करते समय डेडलॉक के बारे में सावधान रहें। – Sridhar
पुन: "... अन्य दो लॉक हो जाएंगे"। वर्तमान में लॉक होने वाले वर्तमान में थ्रेड को उसी ऑब्जेक्ट पर एक और सिंक्रनाइज़ विधि को कॉल करने से रोका नहीं जाएगा, हालांकि किसी अन्य थ्रेड को अवरुद्ध कर दिया जाएगा (यानी लॉक दिए जाने तक प्रतीक्षा करने के लिए मजबूर होना चाहिए)। मैक्स का एक अच्छा जवाब है जो इस बारे में बात करता है कि आप ऑब्जेक्ट पर लॉक कर रहे हैं या नहीं (यानी यह) या अन्य ऑब्जेक्ट वैरिएबल पूरी तरह से। – Brad