Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Questa documentazione è stata archiviata e non viene gestita.

Proprietà ICollection.IsSynchronized

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

Spazio dei nomi:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

bool IsSynchronized { get; }

Valore proprietà

Tipo: System.Boolean
true se l'accesso all'oggetto ICollection è sincronizzato (thread-safe); in caso contrario false.

SyncRoot restituisce un oggetto che può essere utilizzato per sincronizzare l'accesso a ICollection.

La maggior parte delle classi dell'insieme nello spazio dei nomi System.Collections implementa anche un metodo Synchronized, che fornisce un wrapper di sincronizzazione rispetto all'insieme sottostante.

L'enumerazione di un insieme non è di per sé una procedura thread-safe. Anche se un insieme è sincronizzato, è possibile che venga modificato da altri thread, con conseguente generazione di un'eccezione da parte dell'enumeratore. Per garantire la thread safety durante l'enumerazione, è possibile bloccare l'insieme per l'intera enumerazione oppure intercettare le eccezioni determinate dalle modifiche apportate da altri thread.

Nell'esempio di codice riportato di seguito è illustrato come bloccare l'insieme utilizzando la proprietà SyncRoot durante l'intero processo di enumerazione.


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


.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Supportato in:

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Mostra: