Método Queue.Synchronized() en C#

Este método se usa para devolver una nueva Cola que envuelve la cola original y es segura para subprocesos. El contenedor devuelto por este método bloquea la cola antes de que se realice una operación para que se realice de manera segura para subprocesos.

Sintaxis:

System.Collections.Queue estático público sincronizado (cola System.Collections.Queue);

Valor devuelto: un contenedor de cola que está sincronizado (seguro para subprocesos).

Excepción: este método dará ArgumentNullException si la cola es nula.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# code to illustrate the
// Queue.Synchronized() Method
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Queue
        Queue myQueue = new Queue();
  
        // Inserting the elements into the Queue
        myQueue.Enqueue("C");
        myQueue.Enqueue("C++");
        myQueue.Enqueue("Java");
        myQueue.Enqueue("C#");
        myQueue.Enqueue("HTML");
        myQueue.Enqueue("CSS");
  
        // Creates a synchronized
        // wrapper around the Queue
        Queue sq = Queue.Synchronized(myQueue);
  
        // Displays the synchronization
        // status of both ArrayList
        Console.WriteLine("myQueue is {0}.", myQueue.IsSynchronized ?
                                "Synchronized" : "Not Synchronized");
  
        Console.WriteLine("sq is {0}.", sq.IsSynchronized ? 
                      "Synchronized" : "Not Synchronized");
    }
}

Producción:

myQueue is Not Synchronized.
sq is Synchronized.

Ejemplo 2:

// C# code to illustrate the
// Queue.Synchronized() Method
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Queue
        Queue myQueue = new Queue();
  
        // Inserting the elements into the Queue
        myQueue.Enqueue("Geeks");
        myQueue.Enqueue("for");
        myQueue.Enqueue("Geeks");
        myQueue.Enqueue("Noida");
        myQueue.Enqueue("Sector");
        myQueue.Enqueue("142");
  
        // it will give error as
        // the parameter is null
        Queue smyList = Queue.Synchronized(null);
    }
}

Error de tiempo de ejecución:

Excepción no controlada:
System.ArgumentNullException: el valor no puede ser nulo.
Nombre del parámetro: cola

Referencia:

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *