Freigeben über


SortedDictionary<TKey,TValue>.ICollection.SyncRoot Eigenschaft

Definition

Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die ICollectionverwendet werden kann.

property System::Object ^ System::Collections::ICollection::SyncRoot { System::Object ^ get(); };
object System.Collections.ICollection.SyncRoot { get; }
member this.System.Collections.ICollection.SyncRoot : obj
 ReadOnly Property SyncRoot As Object Implements ICollection.SyncRoot

Eigenschaftswert

Ein Objekt, das zum Synchronisieren des Zugriffs auf die ICollection.

Implementiert

Hinweise

Standardimplementierungen von Auflistungen im System.Collections.Generic Namespace werden nicht synchronisiert.

Das Aufzählen durch eine Sammlung ist in erster Linie keine threadsichere Prozedur. Um die Threadsicherheit während der Enumeration zu gewährleisten, können Sie die Sammlung während der gesamten Enumeration sperren. Damit auf die Sammlung über mehrere Threads zum Lesen und Schreiben zugegriffen werden kann, müssen Sie eine eigene Synchronisierung implementieren.

Die ICollection.SyncRoot Eigenschaft gibt ein Objekt zurück, das zum Synchronisieren des Zugriffs auf die ICollection. Die Synchronisierung ist nur wirksam, wenn alle Threads das Objekt vor dem Zugriff auf die Auflistung sperren. Der folgende Code zeigt die Verwendung der SyncRoot Eigenschaft.

ICollection ic = ...;
lock (ic.SyncRoot)
{
    // Access the collection.
}
Dim ic As ICollection = ...
SyncLock ic.SyncRoot
    ' Access the collection.
End SyncLock

Das Abrufen des Werts dieser Eigenschaft ist ein O(1)-Vorgang.

Gilt für:

Weitere Informationen