दिलचस्प पोस्ट
SqLite में शीर्ष 5 रिकॉर्ड कैसे प्राप्त करें? MySQL क्रम में पंक्ति स्थिति में मिलता है जेटली एम्बेडेड कंटेनर का उपयोग करते समय ServletContextHandler.setResourceBase और ResourceHandler.setResourceBase के बीच क्या अंतर है? एंड्रॉइड टेक्स्टव्यू जस्टिफ़ टेक्स्ट धूमकेतु और jQuery जैक्सन वास्तव में एक सामान्य प्रकार में json deserialize करने में असमर्थ है? Google स्प्रेडशीट सशर्त स्वरूपण दूसरे सेल मूल्य के आधार पर Nuget.exe या विज़ुअल स्टूडियो एक्सटेंशन के बिना न्यूज पैकेज कैसे डाउनलोड करें? एक बाउंडिंग बॉक्स फिट करने के लिए चित्र स्केल करें यूनिकोड को MySQL में कैसे स्टोर करना है? जावा: एक सुपर विधि कॉलिंग जो एक ओवरराइड विधि कॉल करता है jQuery का नक्शा बनाम प्रत्येक सर्विस स्टैक: रसीला संसाधन संस्करण Ggplot में स्तंभ नाम निर्दिष्ट करने के लिए एक चर का उपयोग कैसे करें कोड की "कॉपी और पेस्ट" खतरनाक क्यों है?

जावा में कौन से आपरेशन परमाणु माना जाता है?

जावा में कौन से आपरेशन परमाणु माना जाता है?

Solutions Collecting From Web of "जावा में कौन से आपरेशन परमाणु माना जाता है?"

  • लंबी और दोहरी को छोड़कर आदिम प्रकार के सभी कार्य
  • संदर्भ के सभी कार्य
  • अस्थिर चर के सभी काम
  • java.concurrent.Atomic * वर्गों के सभी कार्यों

और शायद कुछ और Jls को देखो

जैसा कि टिप्पणियों में बताया गया है, परमाणुता दृश्यता नहीं दर्शाती है। इसलिए जब एक और थ्रेड को आंशिक रूप से लिखित int नहीं देखने की गारंटी दी जाती है, यह नए मान कभी नहीं देख सकता है।

लम्बी और दोहरी परिचालनों पर आम 64 बिट CPU परमाणु भी हैं , हालांकि इसमें कोई गारंटी नहीं है। यह सुविधा अनुरोध भी देखें।

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

उदाहरण के लिए, निम्न कोड धागा सुरक्षित है:

 public class ThreadSafe { private int x; public void setX(int x) { this.x = x; } } 

यह प्रतीत होता है कि लंबे समय से काम परमाणु, इस विधि के आधार पर परमाणु लोंग.जावा पर आधारित है:

 public final void set(long newValue) { value = newValue; } 

किसी भी सिंक्रनाइज़ेशन की अनुपस्थिति को नोट करें