Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

DictionaryBase.ICollection.IsSynchronized (Propiedad)

Obtiene un valor que indica si el acceso a un objeto DictionaryBase está sincronizado (es seguro para la ejecución de subprocesos).

Espacio de nombres:  System.Collections
Ensamblado:  mscorlib (en mscorlib.dll)

bool ICollection.IsSynchronized { get; }

Valor de propiedad

Tipo: System.Boolean
Es true si el acceso al objeto DictionaryBase está sincronizado (seguro para la ejecución de subprocesos); en caso contrario, es false. El valor predeterminado es false.

Implementaciones

ICollection.IsSynchronized

Un objeto DictionaryBase no está sincronizado. Las clases derivadas pueden proporcionar una versión sincronizada de la clase DictionaryBase mediante la propiedad SyncRoot.

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 ShortStringDictionary();
lock(myCollection.SyncRoot)
{
    foreach (Object item in myCollection)
    {
        // Insert your code here.
    }
}


La recuperación del valor de esta propiedad es una operación O(1).

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft