Propiedad Stack.IsSynchronized en C#

Este método (se incluye en el espacio de nombres System.Collections ) se usa para obtener un valor que indica si el acceso a la pila está sincronizado (seguro para subprocesos) o no. Para garantizar la seguridad de subprocesos de la pila, todas las operaciones deben realizarse a través del contenedor devuelto por el método sincronizado . Además, recuperar el valor de esta propiedad es una operación O(1) .

Sintaxis:

public virtual bool IsSynchronized { get; }

Valor devuelto: esta propiedad devuelve verdadero , si el acceso a la pila está sincronizado (seguro para subprocesos); de lo contrario, devuelve falso . El valor predeterminado es falso .

Los siguientes programas ilustran el uso de la propiedad discutida anteriormente:

Ejemplo 1:

// C# code to illustrate the
// Stack.IsSynchronized Property
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack
        Stack myStack = new Stack();
  
        // Inserting the elements into the Stack
        myStack.Push("Geeks");
        myStack.Push("Geeks Classes");
        myStack.Push("Noida");
        myStack.Push("Data Structures");
        myStack.Push("GeeksforGeeks");
  
        // Creates a synchronized
        // wrapper around the Stack
        Stack ss = Stack.Synchronized(myStack);
  
        // Displaying the synchronization
        // status of both Stack
        Console.WriteLine("myStack is {0}.", myStack.IsSynchronized ?
                                "Synchronized" : "Not Synchronized");
  
        Console.WriteLine("ss is {0}.", ss.IsSynchronized ? 
                      "Synchronized" : "Not Synchronized");
    }
}
Producción:

myStack is Not Synchronized.
ss is Synchronized.

Ejemplo 2:

// C# code to illustrate the
// Stack.IsSynchronized Property
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack
        Stack myStack = new Stack();
  
        // Inserting elements into Stack
        myStack.Push("1st");
        myStack.Push("2nd");
        myStack.Push("3rd");
        myStack.Push("4th");
        myStack.Push("5th");
  
        // the default is false for
        // IsSynchronized property
        Console.WriteLine(myStack.IsSynchronized);
    }
}
Producción:

False

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 *