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

C# में ArrayList के लिए सिंक्रनाइज़्ड रैपर बनाएं

ArrayList.Synchronized(ArrayList) स्थैतिक मेथड निर्दिष्ट ArrayList के चारों ओर एक थ्रेड-सेफ (सिंक्रनाइज़्ड) रैपर लौटाता है। रैपर सभी ऑपरेशन्स पर लॉक करता है। मूल ArrayList असिंक्रनाइज़्ड रहता है।

उदाहरण 1: असिंक्रनाइज़्ड ArrayList

using System;
using System.Collections;

public class Demo
{
    public static void Main()
    {
        ArrayList arrList = new ArrayList();
        arrList.Add("AB");
        arrList.Add("CD");
        arrList.Add("EF");
        arrList.Add("GH");
        arrList.Add("IJ");
        arrList.Add("KL");
        Console.WriteLine("ArrayList elements...");
        foreach (string str in arrList)
        {
            Console.WriteLine(str);
        }
        Console.WriteLine("ArrayList is synchronized? = " + arrList.IsSynchronized);
    }
}

आउटपुट

ArrayList elements...
AB
CD
EF
GH
IJ
KL
ArrayList is synchronized? = False

उदाहरण 2: सिंक्रनाइज़्ड रैपर बनाना

using System;
using System.Collections;

public class Demo
{
    public static void Main()
    {
        ArrayList arrList = new ArrayList();
        arrList.Add("AB");
        arrList.Add("CD");
        arrList.Add("EF");
        arrList.Add("GH");
        arrList.Add("IJ");
        arrList.Add("KL");
        Console.WriteLine("ArrayList elements...");
        foreach (string str in arrList)
        {
            Console.WriteLine(str);
        }
        Console.WriteLine("ArrayList is synchronized? = " + arrList.IsSynchronized);
        ArrayList arrList2 = ArrayList.Synchronized(arrList);
        Console.WriteLine("ArrayList is synchronized? = " + arrList2.IsSynchronized);
    }
}

आउटपुट

ArrayList elements...
AB
CD
EF
GH
IJ
KL
ArrayList is synchronized? = False
ArrayList is synchronized? = True

Synchronized रैपर प्रत्येक ऑपरेशन पर लॉक करता है। एन्यूमरेशन के लिए, पूरे एन्यूमरेशन के दौरान मैन्युअल रूप से lock(arrList.SyncRoot) का उपयोग करें। आधुनिक कोड में List<T> के साथ मैन्युअल लॉकिंग या ConcurrentBag<T>/ConcurrentQueue<T> पसंद किया जाता है।

  1. क्विज़ बनाने के लिए 5 बेस्ट Android ऐप्स क्विज़ बनाने के लिए 5 बेस्ट Android ऐप्स

    क्विज़ सीखने की प्रक्रिया के लिए एक प्रभावी सहायता है। चूंकि क्विज़ आपके ज्ञान का परीक्षण करने के लिए होते हैं, इसलिए उन्हें बनाने के लिए काफी समय और प्रयास की आवश्यकता होती है। अच्छी खबर यह है कि Android के लिए ऐप्स उपलब्ध हैं जो आपको क्विज़ को आसानी से बनाने और शेयर करने देते हैं। ये ऐप्स प्रक्रिय

  1. परफेक्ट प्रोफेशनल ईमेल हस्ताक्षर बनाने के 7 टिप्स परफेक्ट प्रोफेशनल ईमेल हस्ताक्षर बनाने के 7 टिप्स

    हर पेशेवर को पेशेवर ईमेल लिखना सीखना होगा -- और न केवल अपने करियर को आगे बढ़ाने के लिए। यह कठिन हो सकता है, खासकर जब आपको असभ्य, गुस्सैल, या यहां तक कि ट्रोलिश लोगों से निपटना पड़ता है, लेकिन क्या उन ईमेल पर गर्व करना सम्मानजनक बात नहीं है जो आप भेजते हैं? हमने प्रो की तरह ईमेल करने के बारे में बहुत

  1. CockroachDB का लोकतंत्रीकरण: सभी के लिए प्रबंधित सेवा CockroachDB का लोकतंत्रीकरण: सभी के लिए प्रबंधित सेवा

    मूल रूप से 30 सितंबर 2019 को ObjectRocket.com/blog पर प्रकाशित ऐतिहासिक रूप से, CockroachDB के लिए एक प्रबंधित सेवा DBaaS का मूल्य समझने वाले कई उपयोगकर्ताओं की पहुंच से बाहर हो सकती थी। ObjectRocket का प्रबंधित CockroachDB ग्राहकों को लगभग $21/G स्टोरेज के लिए CockroachDB की शक्ति का लाभ उठाने में