C# | Creación de un contenedor sincronizado (seguro para subprocesos) para ArrayList

El método sincronizado (ArrayList) se usa para obtener un contenedor ArrayList que está sincronizado (seguro para subprocesos).

Sintaxis:

System.Collections.ArrayList estático público sincronizado (lista System.Collections.ArrayList);

Aquí, la lista es la ArrayList que se va a sincronizar.

Valor de retorno: Devuelve un contenedor ArrayList que está sincronizado (seguro para subprocesos).

Excepción: este método lanza ArgumentNullException si la lista es nula.

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

Ejemplo 1:

// C# code to check if ArrayList
// Is Synchronized or not
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an ArrayList
        ArrayList myList = new ArrayList();
  
        // Adding elements to ArrayList
        myList.Add("Geeks");
        myList.Add("for");
        myList.Add("Geeks");
        myList.Add("Noida");
        myList.Add("Geeks Classes");
        myList.Add("Delhi");
  
        // Creates a synchronized
        // wrapper around the ArrayList
        ArrayList smyList = ArrayList.Synchronized(myList);
  
        // Displays the synchronization
        // status of both ArrayList
        Console.WriteLine("myList is {0}.", myList.IsSynchronized ? 
                              "Synchronized" : "Not Synchronized");
  
        Console.WriteLine("smyList is {0}.", smyList.IsSynchronized ?
                                "Synchronized" : "Not Synchronized");
    }
}

Producción:

myList is Not Synchronized.
smyList is Synchronized.

Ejemplo 2:

// C# code to check if ArrayList
// Is Synchronized or not
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an ArrayList
        ArrayList myList = new ArrayList();
  
        // Adding elements to ArrayList
        myList.Add("Geeks");
        myList.Add("for");
        myList.Add("Geeks");
        myList.Add("Noida");
        myList.Add("Geeks Classes");
        myList.Add("Delhi");
  
        // it will give error as
        // the parameter is null
        ArrayList smyList = ArrayList.Synchronized(null);
    }
}

Error de tiempo de ejecución:

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

Nota: Para la seguridad de subprocesos de ArrayList , todas las operaciones deben realizarse a través de este contenedor.

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 *