.NET Framework 4 System.Collections.Concurrent नाम स्थान लेकर आया। इसमें कई संग्रह वर्ग हैं जो थ्रेड-सुरक्षित और स्केलेबल हैं। इन संग्रहों को समवर्ती संग्रह कहा जाता है क्योंकि इन्हें एक समय में कई थ्रेड्स द्वारा एक्सेस किया जा सकता है।
C# में समवर्ती संग्रह निम्नलिखित हैं -
Sr.No | टाइप और विवरण |
---|---|
1 | अवरोधन संग्रह किसी भी प्रकार के लिए बाउंडिंग और ब्लॉकिंग कार्यक्षमता। |
2 | ConcurrentDictionary कुंजी-मूल्य जोड़े के शब्दकोश का थ्रेड-सुरक्षित कार्यान्वयन। |
3 | ConcurrentQueue फीफो (फर्स्ट-इन, फर्स्ट-आउट) कतार का थ्रेड-सुरक्षित कार्यान्वयन। |
4 | ConcurrentStack LIFO (लास्ट-इन, फर्स्ट-आउट) स्टैक का थ्रेड-सुरक्षित कार्यान्वयन। |
5 | समवर्ती बैग तत्वों के एक अनियंत्रित संग्रह का थ्रेड-सुरक्षित कार्यान्वयन। |
6 | IProducerConsumerCollection एक प्रकार का इंटरफ़ेस जिसे ब्लॉकिंग कोलेक्शन में उपयोग करने के लिए लागू किया जाना चाहिए |
आइए देखें कि ConcurrentStack
एक समवर्ती स्टैक बनाएँ।
ConcurrentStack<int> s = new ConcurrentStack<int>();
तत्व जोड़ें
s.Push(1); s.Push(2); s.Push(3); s.Push(4); s.Push(5); s.Push(6);
आइए एक उदाहरण देखें
उदाहरण
using System; using System.Collections.Concurrent; class Demo{ static void Main (){ ConcurrentStack s = new ConcurrentStack(); s.Push(50); s.Push(100); s.Push(150); s.Push(200); s.Push(250); s.Push(300); if (s.IsEmpty){ Console.WriteLine("The stack is empty!"); } else { Console.WriteLine("The stack isn't empty"); } } }