"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > AtomicInteger बहु-थ्रेडेड वातावरण में समवर्तीता को कैसे सुधारता है?

AtomicInteger बहु-थ्रेडेड वातावरण में समवर्तीता को कैसे सुधारता है?

2024-11-14 को प्रकाशित
ब्राउज़ करें:609

How does AtomicInteger improve concurrency in multi-threaded environments?

समवर्ती प्रोग्रामिंग में AtomicInteger

AtomicInteger एक जावा क्लास है जो अंतर्निहित पूर्णांक मान तक समवर्ती पहुंच को सक्षम बनाता है। बहु-थ्रेडेड वातावरण में संगामिति को अनुकूलित करने के लिए AtomicInteger के व्यावहारिक अनुप्रयोगों को समझना महत्वपूर्ण है।

विशिष्ट उपयोग के मामले

AtomicInteger दो प्राथमिक उद्देश्यों को पूरा करता है:

  • परमाणु काउंटर: इसका उपयोग एक साझा काउंटर के रूप में किया जा सकता है जिसे कई थ्रेड्स द्वारा एक साथ बढ़ाया या घटाया जा सकता है। यह उन परिदृश्यों में उपयोगी है जहां घटनाओं की सटीक गणना की आवश्यकता होती है, जैसे कि दिए गए अनुरोधों की संख्या को ट्रैक करना।
  • तुलना-और-स्वैप आदिम: AtomicInteger तुलना-और-स्वैप संचालन का समर्थन करता है (तुलनाएंडसेट()) जो गैर-अवरुद्ध एल्गोरिदम कार्यान्वयन की अनुमति देता है। गैर-अवरुद्ध एल्गोरिदम में, डेटा को लॉक प्राप्त किए बिना एक्सेस किया जाता है, जिससे गतिरोध की संभावना कम हो जाती है और समवर्तीता बढ़ जाती है।

तुलना-और-स्वैप का उदाहरण

ब्रायन गोएट्ज़ की "जावा कॉन्करेंसी इन प्रैक्टिस" गैर-अवरुद्ध यादृच्छिक संख्या पीढ़ी के लिए एटॉमिकइंटेगर का उपयोग करने का एक उदाहरण प्रदान करती है:

public class AtomicPseudoRandom extends PseudoRandom {
    private AtomicInteger seed;
    ...

    public int nextInt(int n) {
        while (true) {
            int s = seed.get();
            int nextSeed = calculateNext(s);
            if (seed.compareAndSet(s, nextSeed)) {
                ...
            }
        }
    }
}

इस उदाहरण में, तुलना-और-स्वैप का उपयोग करके बीज मूल्य को परमाणु रूप से अद्यतन किया जाता है। अगला बीज प्राप्त करने के लिए गणना बिना किसी अवरोध के की जाती है, यह सुनिश्चित करते हुए कि एकाधिक थ्रेड एक साथ यादृच्छिक संख्याएँ उत्पन्न कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3