कृपया थोड़ी सी सहायता, कृपया नीचे दिए गए कोड पर विचार करें।पुनर्वित्त लॉकिंग
public class Widget {
public synchronized void doSomething() {
...
}
}
public class LoggingWidget extends Widget {
public synchronized void doSomething() {
System.out.println(toString() + ": calling doSomething");
super.doSomething();
}
}
मैंने पढ़ा है कि जब LoggingWidget में DoSomething() कहा जाता है, JVM विजेट पर पहले और उसके बाद LoggingWidget पर एक ताला प्राप्त करने के लिए कोशिश करेंगे।
मुझे कारण जानने के लिए उत्सुकता है। ऐसा इसलिए है क्योंकि JVM जानता है कि DoSomething() के पास super.do कुछ() है या एक उपclass विधि को कॉल करने के लिए हमेशा सुपरक्लास पर लॉक प्राप्त होगा।
चीयर्स
आपको इसे पढ़ने के लिए एक संदर्भ पोस्ट करना चाहिए क्योंकि यह सच नहीं है :-) –
वास्तव में आपकी मदद के लिए धन्यवाद। मैंने पुनर्वित्त लॉकिंग के स्पष्टीकरण को गलत समझा।अपनी व्याख्या पढ़ने के बाद, मैं स्रोत पर वापस गया (अभ्यास में कॉन्सुरेंसी पुस्तक से एक अंश) और अब यह समझ में आता है। – CaptainHastings