Obtiene un valor que indica si el acceso a
ICollection está sincronizado (es seguro para la ejecución de subprocesos).
Espacio de nombres: System.Collections
Ensamblado: mscorlib (en mscorlib.dll)
Visual Basic (Declaración)
ReadOnly Property IsSynchronized As Boolean
Dim instance As ICollection
Dim value As Boolean
value = instance.IsSynchronized
bool IsSynchronized { get; }
property bool IsSynchronized {
bool get ();
}
/** @property */
boolean get_IsSynchronized ()
function get IsSynchronized () : boolean
Valor de propiedad
Es true si el acceso a ICollection está sincronizado (es seguro para la ejecución de subprocesos); en caso contrario, false.
SyncRoot devuelve un objeto que puede utilizarse para sincronizar el acceso a ICollection.
La mayoría de las clases de colección del espacio de nombres System.Collections también implementan un método Synchronized que proporciona un contenedor sincronizado alrededor de la colección subyacente.
Por su naturaleza, la enumeración mediante una colección no es un procedimiento seguro para la ejecución de subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción. Con el fin de garantizar la seguridad para la ejecución de subprocesos durante la enumeración, es posible bloquear la colección durante toda la enumeración o detectar las excepciones provocadas por los cambios que efectúen otros subprocesos.
En el siguiente ejemplo de código se muestra cómo bloquear la colección utilizando la propiedad SyncRoot durante toda la enumeración.
ICollection myCollection = new ICollection();
lock(myCollection.SyncRoot) {
foreach (Object item in myCollection) {
// Insert your code here.
}
}
Dim myCollection As New ICollection()
Dim item As Object
SyncLock myCollection.SyncRoot
For Each item In myCollection
' Insert your code here.
Next item
End SyncLock
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
.NET Framework
Compatible con: 2.0, 1.1, 1.0
.NET Compact Framework
Compatible con: 2.0, 1.0