SyncRoot Propriedade
Recolher sumário
Expandir sumário
Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

ArrayList.SyncRoot Propriedade

 

Gets an object that can be used to synchronize access to the ArrayList.

Namespace:   System.Collections
Assembly:  mscorlib (em mscorlib.dll)

public virtual object SyncRoot { get; }

Valor de propriedade

Type: System.Object

An object that can be used to synchronize access to the ArrayList.

Implementações

ICollection.SyncRoot

To create a synchronized version of the ArrayList, use the Synchronized method.However, derived classes can provide their own synchronized version of the ArrayList using the SyncRoot property.The synchronizing code must perform operations on the SyncRoot of the ArrayList, not directly on the ArrayList.This ensures proper operation of collections that are derived from other objects.Specifically, it maintains proper synchronization with other threads that might be simultaneously modifying the ArrayList object.

Enumerating through a collection is intrinsically not a thread-safe procedure.Mesmo quando uma coleção é sincronizada, outros Threads poderá ainda modificar a coleção, que faz com que o enumerador para gerar uma exceção.Para garantir segurança de segmentos durante enumeração, você pode bloquear a coleção durante a enumeração inteira ou pegar as exceções resultantes de alterações feitas por outros segmentos.

The following code example shows how to lock the collection using the SyncRoot during the entire enumeration.

ArrayList myCollection = new ArrayList();

lock(myCollection.SyncRoot)
{
    foreach (object item in myCollection)
    {
        // Insert your code here.
    }
}

Retrieving the value of this property is an O(1) operation.

Universal Windows Platform
Disponível desde 10
.NET Framework
Disponível desde 1.1
Retornar ao topo
Mostrar:
© 2016 Microsoft