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

Queue.Synchronized () विधि सी # में


C# में Queue.Synchronized() विधि का उपयोग एक नई कतार को वापस करने के लिए किया जाता है जो मूल कतार को लपेटता है और थ्रेड-सुरक्षित है।

सिंटैक्स

वाक्य रचना इस प्रकार है -

public static System.Collections.Queue Synchronized (System.Collections.Queue queue);

ऊपर, पैरामीटर कतार सिंक्रनाइज़ करने के लिए कतार है।

उदाहरण

आइए अब एक उदाहरण देखें -

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      Queue queue = new Queue();
      queue.Enqueue("AB");
      queue.Enqueue("BC");
      queue.Enqueue("CD");
      queue.Enqueue("DE");
      queue.Enqueue("EF");
      queue.Enqueue("FG");
      queue.Enqueue("GH");
      queue.Enqueue("HI");
      Console.WriteLine("Queue...");
      IEnumerator demoEnum = queue.GetEnumerator();
      while (demoEnum.MoveNext()){
         Console.WriteLine(demoEnum.Current);
      }
      Console.WriteLine("Is Queue synchronized? = "+queue.IsSynchronized);
      Queue queue2 = Queue.Synchronized(queue);
      Console.WriteLine("Is Queue synchronized now? = "+queue2.IsSynchronized);
   }
}

आउटपुट

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

Queue...
AB
BC
CD
DE
EF
FG
GH
HI
Is Queue synchronized? = False
Is Queue synchronized now? = True

उदाहरण

आइए अब एक और उदाहरण देखें -

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      Queue queue = new Queue();
      queue.Enqueue(100);
      queue.Enqueue(200);
      queue.Enqueue(300);
      Console.WriteLine("Is Queue synchronized? = "+queue.IsSynchronized);
      Queue queue2 = Queue.Synchronized(queue);
      Console.WriteLine("Is Queue synchronized now? = "+queue2.IsSynchronized);
      Console.Write("Count of elements = ");
      Console.WriteLine(queue.Count);
      Console.WriteLine("Queue...");
      foreach(int i in queue){
         Console.WriteLine(i);
      }
      Console.WriteLine("Does the queue has element 500? = "+queue.Contains(500));
      int[] intArr = new int[5];
      intArr[0] = 1;
      intArr[1] = 2;
      intArr[2] = 3;
      intArr[3] = 4;
      queue.CopyTo(intArr, 1);
      Console.WriteLine("\nQueue (Updated)");
      foreach(int i in queue){
         Console.WriteLine(i);
      }
      Console.WriteLine("\nArray (Updated)");
      foreach(int i in intArr){
         Console.WriteLine(i);
      }
   }
}

आउटपुट

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

Is Queue synchronized? = False
Is Queue synchronized now? = True
Count of elements = 3
Queue...
100
200
300
Does the queue has element 500? = False
Queue (Updated)
100
200
300
Array (Updated)
1
100
200
300
0

  1. सी # में अनुक्रम समान विधि

    SequenceEqual पद्धति का उपयोग समानता के लिए संग्रहों का परीक्षण करने के लिए किया जाता है। आइए तीन स्ट्रिंग सरणियाँ सेट करें - string[] arr1 = { "This", "is", "it" }; string[] arr2 = { "My", "work", "report" }; string[] arr3 = { "This&

  1. सी # में कुल विधि

    योग, न्यूनतम, अधिकतम, औसत, आदि जैसे गणितीय कार्यों को करने के लिए C# में समग्र विधि का उपयोग करें। आइए हम समग्र विधि का उपयोग करके सरणी तत्वों को गुणा करने के लिए एक उदाहरण देखें। यहाँ हमारी सरणी है - int[] arr = { 10, 15, 20 }; अब, एग्रीगेट () विधि का उपयोग करें - arr.Aggregate((x, y) => x *

  1. सी # () में TakeWhile विधि

    TakeWhile() विधि के साथ, आप Predicate पर एक शर्त आधार सेट करके विधियाँ प्राप्त कर सकते हैं। सबसे पहले, एक सरणी घोषित करें और आरंभ करें - int[] arr = { 25, 40, 65, 70}; अब, TakeWhile () विधि का उपयोग करें और 30 से कम वाले सभी तत्वों को प्राप्त करने के लिए विधेय करें। var val = arr.TakeWhile(ele =&g