मैं सिंगलटन सत्र सेम के बारे में पढ़ना शुरू किया है और कंटेनर को रोजगार के लिए इस्तेमाल किया एनोटेशन कामयाब संगामिति। मुझे बस 'सिंक्रनाइज़' कीवर्ड का उपयोग करने की तुलना में इसका लाभ नहीं दिख रहा है, इसलिए मुझे संदेह है कि कुछ महत्वपूर्ण है जो मुझे याद आ रही है। पुस्तक "Enterprise JavaBeans 3.1" Rubinger & बर्क द्वारा से इस उदाहरण पर विचार, ओ रेली:EJB 3.1 कंटेनर में कामयाब संगामिति बनाम सिंक्रनाइज़
@javax.ejb.Lock(javax.ejb.LockType.READ)
public String concurrentReadOnlyMethod(){...}
@javax.ejb.Lock(javax.ejb.LockType.WRITE)
public void allowOnlyOneWriteAtATimeMethod(String stringToSet){...}
कैसे पढ़ने के मामले में सभी toghether एनोटेशन को छोड़ते हुए और लिखने के मामले में synchronized
कीवर्ड का उपयोग करने से यह बेहतर है , इस तरह:
public String concurrentReadOnlyMethod(){...}
public synchronized void allowOnlyOneWriteAtATimeMethod(String stringToSet){...}
अगर मैं तुम्हें सही ढंग से समझ, हो सकता है मैं वाक्यांश यह अनौपचारिक रूप से इस तरह: कंटेनर में कामयाब संगामिति के साथ अर्थ विज्ञान है "समवर्ती पढ़ता है जब तक अनुमति दी जाती है के रूप में कोई लेखन चल रहा है" उपरोक्त विधियों में से दोनों युक्त एक वर्ग, को देखते हुए। विरोधाभासी उदाहरण के अर्थशास्त्र "समवर्ती पढ़ने की अनुमति है, लेखन के दौरान भी, लेकिन एक समय में केवल एक धागा लिखना होगा"। –
हाँ, यह इसे बहुत अच्छी तरह से सारांशित करता है। –
क्या आप मुझे ईजेबी 3.1 में रीड/राइट लॉक के इस अर्थशास्त्र का संदर्भ दे सकते हैं? मैं इसे विनिर्देशन में भी नहीं मिला। – illEatYourPuppies