यदि मुझे किसी ऑब्जेक्ट के अंदर किसी इंटी फ़ील्ड पर परमाणु पहुंच की आवश्यकता है, तो क्या यह एक परमाणु इंटेगर के रूप में फ़ील्ड घोषित करने के लिए पर्याप्त है या क्या मुझे एक AtomicIntegerFieldUpdater का उपयोग करने की आवश्यकता है? (और क्यों?)जावा - ऑब्जेक्ट के भीतर क्षेत्र में परमाणु पहुंच
उत्तर
AtomicInteger
का उपयोग करना पर्याप्त है। परमाणु अद्यतनकर्ता volatile
क्षेत्रों के साथ उपयोग के लिए हैं; प्राथमिक उपयोग केस डेटा संरचनाएं हैं जिनमें बड़ी संख्या में फ़ील्ड हैं जिन पर परमाणु पहुंच की आवश्यकता होती है; आप प्रत्येक फ़ील्ड के लिए AtomicInteger
संदर्भ के बिना परमाणु semantics के साथ उन क्षेत्रों का उपयोग करने के लिए फ़ील्ड अद्यतनकर्ता का उपयोग करें।
विस्तृत चर्चा के लिए, this link देखें।
biziclop की टिप्पणी के अतिरिक्त (लिंक देखें):
Are java primitive ints atomic by design or by accident?
बस मामले में आप नहीं इस पार पहले से ही आया है।
AtomicInteger
और दोस्तों को आमतौर पर पर्याप्त होना चाहिए, और आमतौर पर बेहतर है क्योंकि इसमें प्रतिबिंब या अन्य ऐसी हैकरी शामिल नहीं है।
AtomicIntegerFieldUpdater
उपयोगी हो सकता है जहां आपके पास बहुत से उदाहरण हैं जहां इसे अद्यतन करने की आवश्यकता है, क्योंकि इससे वस्तुओं की कुल संख्या कम हो जाती है। यह विशेष रूप से उपयोगी है अगर सीधे पढ़ने और लिखने के अलावा संचालन कम है। उदाहरण के लिए AtomicReferenceFieldUpdater
का उपयोग संलग्नक विधि के लिए java.nio
में किया जाता है, जिसे आम तौर पर एक बार सेट किया जाता है (एक प्राप्त-सेट-सेट के रूप में उजागर किया जाता है) और कई बार पढ़ा जाता है।
- 1. साझा स्मृति परमाणु पहुंच
- 2. जावा में वैश्विक पहुंच
- 3. स्कैला ऑब्जेक्ट जावा क्लास स्थिर क्षेत्र
- 4. जावा में जब कोई ऑब्जेक्ट पहुंच योग्य नहीं होता है?
- 5. क्या मैं जावा से ब्रांड्स के बिना स्कैला ऑब्जेक्ट के वैल तक पहुंच सकता हूं?
- 6. क्या लिखें परमाणु परमाणु है?
- 7. जावा में पहुंच योग्य है
- 8. जावा: क्या कोई परमाणु फ्लोट या परमाणु डबल नहीं है?
- 9. जावा: जावा ऑब्जेक्ट को जावा ऑब्जेक्ट में जावा में स्ट्रिंग ऑब्जेक्ट में कैसे परिवर्तित करें?
- 10. बंद होने के भीतर से निजी चरों तक पहुंच
- 11. जावा में धागे के भीतर धागे?
- 12. जावा कॉल स्टैक तक पहुंच
- 13. परमाणु Long.lazySet
- 14. ऑब्जेक्ट तक पहुंच प्राप्त करने के लिए
- 15. एक जावा आवेदन के भीतर
- 16. एक निपुणता ऑब्जेक्ट के क्षेत्र सूचीबद्ध करें
- 17. डेटा गोदाम के स्टेजिंग क्षेत्र के भीतर संरचना
- 18. प्रतिबिंब के माध्यम से जावा में निजी चरों तक पहुंच
- 19. सीएसएस छवि स्केलिंग क्षेत्र के भीतर फिट करने के लिए
- 20. किसी ऑब्जेक्ट के भीतर संग्रह प्रारंभ करें?
- 21. PHP: ऑब्जेक्ट के भीतर से किसी ऑब्जेक्ट को नष्ट करें?
- 22. जावास्क्रिप्ट: उस ऑब्जेक्ट के भीतर ऑब्जेक्ट विधियों को कॉल करना
- 23. अपवाद पहुंच उल्लंघन जावा?
- 24. जावा में फंक्शन ऑब्जेक्ट
- 25. अपनी स्क्रिप्ट के भीतर से Greasemonkey मेटाडेटा तक पहुंच?
- 26. नियंत्रक की पहुंच संपत्ति को देखने के भीतर
- 27. जावा - सरणी क्षेत्र
- 28. पायथन - शब्दकोशों के भीतर घोंसले मूल्यों तक पहुंच
- 29. फ़ंक्शन के भीतर से अस्थायी तालिकाओं तक नहीं पहुंच सकता
- 30. ब्राउज़र टैब के भीतर से "मीडिया कुंजी" तक पहुंच
परमाणु पहुंच परिभाषित करें। ऑपरेशन का अनुक्रम आप परमाणु बनाना चाहते हैं? – biziclop
कई धागे क्षेत्र में वृद्धि/कमी कर रहे हैं। – lgp