Esta propiedad se usa para obtener un valor que indica si el acceso a la cola está sincronizado (seguro para subprocesos) o no.
Sintaxis:
public virtual bool IsSynchronized { get; }
Valor de propiedad: esta propiedad devuelve verdadero si el acceso a la cola está sincronizado (seguro para subprocesos); de lo contrario, es falso. El valor predeterminado es falso.
Los siguientes programas ilustran el uso de la propiedad discutida anteriormente:
Ejemplo 1:
// C# code to illustrate the // Queue.IsSynchronized Property 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 Queue 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 check if Queue // Is Synchronized or not 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(1); myQueue.Enqueue(2); myQueue.Enqueue(3); myQueue.Enqueue(4); // the default is false for // IsSynchronized property Console.WriteLine(myQueue.IsSynchronized); } }
Producción:
False
Nota:
- Recuperar el valor de esta propiedad es una operación O(1).
- Para garantizar la seguridad de subprocesos de la cola, todas las operaciones deben realizarse a través del contenedor devuelto por el método sincronizado.
- Enumerar a través de una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos aún pueden modificar la colección, lo que hace que el enumerador arroje una excepción.
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