Condividi tramite


Dictionary<TKey,TValue>.ICollection.IsSynchronized Proprietà

Definizione

Ottiene un valore che indica se l'accesso a ICollection è sincronizzato (thread-safe).

property bool System::Collections::ICollection::IsSynchronized { bool get(); };
bool System.Collections.ICollection.IsSynchronized { get; }
member this.System.Collections.ICollection.IsSynchronized : bool
 ReadOnly Property IsSynchronized As Boolean Implements ICollection.IsSynchronized

Valore della proprietà

true se l'accesso a ICollection è sincronizzato (thread-safe); in caso contrario, false. Nell'implementazione predefinita di Dictionary<TKey,TValue>, questa proprietà restituisce sempre false.

Implementazioni

Commenti

Le implementazioni predefinite di raccolte nello spazio dei nomi System.Collections.Generic non sono sincronizzate.

L'enumerazione di una raccolta non è di per sé una procedura thread-safe. Anche quando una raccolta è sincronizzata, altri thread possono comunque modificare la raccolta, causando la generazione di un'eccezione da parte dell'enumeratore. Per garantire la protezione dei thread durante l'enumerazione, è possibile bloccare la raccolta per l'intera enumerazione oppure intercettare le eccezioni determinate dalle modifiche apportate da altri thread.

La SyncRoot proprietà restituisce un oggetto che può essere utilizzato per sincronizzare l'accesso ICollectiona . La sincronizzazione è valida solo se tutti i thread bloccano l'oggetto prima di accedere alla raccolta.

Ottenere il valore di questa proprietà è un'operazione O(1).

Si applica a

Vedi anche