SortedDictionary<TKey,TValue>.ICollection.SyncRoot Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.