public synchronized int getCountOne() {
return count++;
}
कार्यात्मक एक synchronized (this) block
विधि के शरीर के चारों ओर होने के बराबर है। ऑब्जेक्ट "यह" लॉक नहीं होता है, बल्कि ऑब्जेक्ट "यह" mutex
के रूप में उपयोग किया जाता है और शरीर को अन्य कोड खंडों के साथ समवर्ती रूप से निष्पादित करने से रोका जाता है, यह भी "इस" पर सिंक्रनाइज़ किया जाता है।कैसे श्रेणी स्तर ताला हासिल किया जाता है इसके बाद के संस्करण कोड पद्धति पर सिंक्रनाइज़ करने में की तरह
समान आधार जब हम अगर हम एक समारोह है में एक वर्ग के स्तर lock.As प्राप्त
public static synchronized int getCountTwo() {
return count++;
}
स्पष्ट रूप से दो धागे एक साथ getCountOne पर ताले (वस्तु स्तर लॉक) प्राप्त कर सकते हैं और क्या एक mutex
के रूप में प्रयोग किया जाता है पर getCountTwo (कक्षा स्तर ताला)। तो GetCountOne
public int getCountOne() {
synchronized(this) {
return count++;
}
}
के समान है getCountTwo के बराबर है? यदि कक्षा स्तर लॉक प्राप्त करने के लिए कोई मानदंड उपयोग नहीं किया जाता है?
नाइस स्पष्टीकरण – Prabhaker