क्या इस कोड में अस्थिर और सिंक्रनाइज़ करने के लिए कोई कारण है?एक साथ सिंक्रनाइज़ किए गए अस्थिर
public class Helper {
private volatile int n;
private final Object lock = new Object();
public Helper(int n) {
this.n = n;
}
public void setN(int value) {
synchronized (lock) {
n = value;
}
}
}
क्लास हेल्पर थ्रेड सुरक्षित होना चाहिए। मुझे यह उदाहरण "जावा कंसुरेंसी दिशानिर्देश" पुस्तक से मिला है, लेकिन यह अभी भी स्पष्ट नहीं है: इस उदाहरण में अस्थिर और सिंक्रनाइज़ करने का कारण क्या है?
आप किस सटीक पुस्तक के बारे में बात करते हैं? जावा कंसुरेंसी सीखने के लिए मैं प्रैक्टिस बुक (http://jcip.net/) में जावा कंसुरेंसी की दृढ़ता से सलाह दूंगा। –
मुझे यह पुस्तक यहां मिली है (पेज 167) http://www.sei.cmu.edu/reports/10tr015.pdf इस पुस्तक में सबकुछ स्पष्ट है कि इस मामले को छोड़कर केवल –
परमाणु इंटेगर का उपयोग करें। – khachik