जावा में VarHandle क्लास का उपयोग करके आप वस्तुओं पर परमाणु संचालन प्राप्त कर सकते हैं, जिसके माध्यम से AtomicReferenceArray जैसी कक्षाएं बिना किसी लॉकिंग (सिंक्रनाइज़ किए) सरणी के तत्वों पर समवर्ती संचालन कर सकती हैं, संपूर्ण सरणी संरचना महत्वपूर्ण प्रदर्शन लाभ में समाप्त होती है।

क्या कोई विशिष्ट कारण है कि संग्रह के अन्य सिंक्रनाइज़ और थ्रेड सुरक्षित संस्करण ऐसे मॉडल को लागू नहीं कर रहे हैं?
उदाहरण के लिए, संग्रह वर्ग में सभी सिंक्रनाइज़ फ़ैक्टरी विधियाँ अपने संबंधित संग्रह का संस्करण लौटाती हैं जो सिंक्रनाइज़ विधियों का उपयोग करती है जो पूरे संग्रह को लॉक कर देती है!

0
al pal 25 पद 2021, 08:45
3
वस्तुओं पर परमाणु संचालन एक संपूर्ण संग्रह को आवश्यक रूप से थ्रेड-सुरक्षित नहीं बनाता है। उदाहरण के लिए, संग्रह में सिंक्रनाइज़ फ़ैक्टरी विधियाँ, मनमाने संग्रह कार्यान्वयन को थ्रेड-सुरक्षित बनाने का एकमात्र तरीका हैं।
 – 
Louis Wasserman
25 पद 2021, 09:14

1 उत्तर

सबसे बढ़िया उत्तर

वस्तुओं पर परमाणु संचालन एक संपूर्ण संग्रह को आवश्यक रूप से थ्रेड-सुरक्षित नहीं बनाता है। संग्रह में सिंक्रनाइज़ फ़ैक्टरी विधियाँ, उदाहरण के लिए, मनमाने ढंग से संग्रह कार्यान्वयन को थ्रेड-सुरक्षित बनाने का एकमात्र तरीका है।

यह संभव है कि VarHandle का उपयोग विशेष रूप से समवर्ती के लिए बनाए गए संग्रह को अनुकूलित करने के लिए किया जा सकता है, जैसे कि ConcurrentHashMap। यदि आपको लगता है कि VarHandles का उपयोग उन प्रकारों को सुधारने के लिए किया जा सकता है, तो आपको एक सुविधा अनुरोध दर्ज करना चाहिए। यह पूरी तरह से संभव है कि किसी ने इसे करने की जहमत नहीं उठाई।

2
Louis Wasserman 25 पद 2021, 09:32