जावा में VarHandle क्लास का उपयोग करके आप वस्तुओं पर परमाणु संचालन प्राप्त कर सकते हैं, जिसके माध्यम से AtomicReferenceArray जैसी कक्षाएं बिना किसी लॉकिंग (सिंक्रनाइज़ किए) सरणी के तत्वों पर समवर्ती संचालन कर सकती हैं, संपूर्ण सरणी संरचना महत्वपूर्ण प्रदर्शन लाभ में समाप्त होती है।
क्या कोई विशिष्ट कारण है कि संग्रह के अन्य सिंक्रनाइज़ और थ्रेड सुरक्षित संस्करण ऐसे मॉडल को लागू नहीं कर रहे हैं?
उदाहरण के लिए, संग्रह वर्ग में सभी सिंक्रनाइज़ फ़ैक्टरी विधियाँ अपने संबंधित संग्रह का संस्करण लौटाती हैं जो सिंक्रनाइज़ विधियों का उपयोग करती है जो पूरे संग्रह को लॉक कर देती है!
1 उत्तर
वस्तुओं पर परमाणु संचालन एक संपूर्ण संग्रह को आवश्यक रूप से थ्रेड-सुरक्षित नहीं बनाता है। संग्रह में सिंक्रनाइज़ फ़ैक्टरी विधियाँ, उदाहरण के लिए, मनमाने ढंग से संग्रह कार्यान्वयन को थ्रेड-सुरक्षित बनाने का एकमात्र तरीका है।
यह संभव है कि VarHandle
का उपयोग विशेष रूप से समवर्ती के लिए बनाए गए संग्रह को अनुकूलित करने के लिए किया जा सकता है, जैसे कि ConcurrentHashMap
। यदि आपको लगता है कि VarHandle
s का उपयोग उन प्रकारों को सुधारने के लिए किया जा सकता है, तो आपको एक सुविधा अनुरोध दर्ज करना चाहिए। यह पूरी तरह से संभव है कि किसी ने इसे करने की जहमत नहीं उठाई।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।