Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में थ्रेड सुरक्षित समवर्ती संग्रह

.NET Framework 4 System.Collections.Concurrent नाम स्थान लेकर आया। इसमें कई संग्रह वर्ग हैं जो थ्रेड-सुरक्षित और स्केलेबल हैं। इन संग्रहों को समवर्ती संग्रह कहा जाता है क्योंकि इन्हें एक समय में कई थ्रेड्स द्वारा एक्सेस किया जा सकता है।

C# में समवर्ती संग्रह निम्नलिखित हैं -

Sr.No टाइप और विवरण
1 अवरोधन संग्रह
किसी भी प्रकार के लिए बाउंडिंग और ब्लॉकिंग कार्यक्षमता।
2 ConcurrentDictionary
कुंजी-मूल्य जोड़े के शब्दकोश का थ्रेड-सुरक्षित कार्यान्वयन।
3 ConcurrentQueue
फीफो (फर्स्ट-इन, फर्स्ट-आउट) कतार का थ्रेड-सुरक्षित कार्यान्वयन।
4 ConcurrentStack
LIFO (लास्ट-इन, फर्स्ट-आउट) स्टैक का थ्रेड-सुरक्षित कार्यान्वयन।
5 समवर्ती बैग
तत्वों के एक अनियंत्रित संग्रह का थ्रेड-सुरक्षित कार्यान्वयन।
6 IProducerConsumerCollection
एक प्रकार का इंटरफ़ेस जिसे ब्लॉकिंग कोलेक्शन में उपयोग करने के लिए लागू किया जाना चाहिए

आइए देखें कि ConcurrentStack के साथ कैसे काम करें, जो थ्रेड-सुरक्षित लास्ट इन-फर्स्ट आउट (LIFO) संग्रह है।

एक समवर्ती स्टैक बनाएँ।

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");
      }
   }
}

  1. जावा में फेल-फास्ट और फेल सेफ के बीच अंतर

    Sr. नहीं. कुंजी असफल-तेज़ असफल-सुरक्षित 1 अपवाद संग्रह में कोई भी परिवर्तन, जैसे कि एक थ्रेड के दौरान संग्रह को जोड़ना, हटाना और अद्यतन करना संग्रह को पुनरावृत्त कर रहा है फिर फ़ेल फ़ास्ट थ्रो समवर्ती संशोधन अपवाद। असफल-सुरक्षित संग्रह अपवाद नहीं फेंकता। 2. संग्रह का प्रकार ArrayList

  1. कैसे जावा में एक संग्रह धागा सुरक्षित बनाने के लिए?

    Java.util पैकेज विधियों का संग्रह वर्ग जो विशेष रूप से संग्रह पर काम करता है, ये विधियां विभिन्न अतिरिक्त संचालन प्रदान करती हैं जिसमें बहुरूपी एल्गोरिदम शामिल होते हैं। यह वर्ग नीचे दिखाए गए अनुसार तुल्यकालन () विधि के विभिन्न प्रकार प्रदान करता है - Sr.No तरीके और विवरण 1 स्थिर संग्रह सिंक्रना

  1. क्या आपको लगता है कि पायथन डिक्शनरी थ्रेड सुरक्षित है?

    हां, एक पायथन डिक्शनरी थ्रेड सुरक्षित है। दरअसल, पाइथन में सभी बिल्ट-इन थ्रेड सेफ हैं। आप इसके बारे में दस्तावेज़ीकरण में अधिक पढ़ सकते हैं:https://docs.python.org/3/glossary.html#term-global-interpreter-lock