दिलचस्प पोस्ट
मैं स्विफ्ट में एक सरणी कैसे बदलूं? क्या मैं PHP में 1 वर्ग से अधिक वर्ग का इस्तेमाल कर सकता हूं? समानांतर। फोरेब बनाम टास्क। फ़ैक्टर। स्टार्टन्यू सेल संपादन के बाद जेटेबल सेल रेंडरिंग को बनाए रखने के लिए मॉडल में वर्तमान_उज़र एक्सेस करें इंटेंट का उपयोग करते हुए एंड्रॉइड कई ईमेल अटैचमेंट जावास्क्रिप्ट में एक JSON ऑब्जेक्ट सॉर्ट करना कैसे अनुकूलित करें <input type = "file">? HTML स्रोत तक पहुंचने वाले पायथन सेलिनियम एंड्रॉइड: आशय के माध्यम से एक विशिष्ट फ़ोल्डर कैसे खोलें और फ़ाइल ब्राउज़र में इसकी सामग्री दिखाएं? आप एक जावास्क्रिप्ट दिनांक यूटीसी में कैसे बदल सकते हैं? GoogleSignatureVerifier हस्ताक्षर मान्य संदेश नहीं है (Google Play सेवाओं 9.0.0) दिनांक कैसे ओरेकल में संग्रहीत हैं? संदर्भ से मैं एक आदिम डेटा प्रकार कैसे प्राप्त करूं? जावास्क्रिप्ट काट / टुकड़ा / स्ट्रिंग में अंतिम वर्ण को छानना

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

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

वेब के समाधान से एकत्रित समाधान "जावा में कौन से आपरेशन परमाणु माना जाता है?"

  • लंबी और दोहरी को छोड़कर आदिम प्रकार के सभी कार्य
  • संदर्भ के सभी कार्य
  • अस्थिर चर के सभी काम
  • 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; } 

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