Sdílet prostřednictvím


SortedDictionary<TKey,TValue>.ICollection.SyncRoot Vlastnost

Definice

Získá objekt, který lze použít k synchronizaci přístupu k ICollection.

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

Hodnota vlastnosti

Objekt, který lze použít k synchronizaci přístupu k objektu ICollection.

Implementuje

Poznámky

Výchozí implementace kolekcí v System.Collections.Generic oboru názvů nejsou synchronizovány.

Výčet prostřednictvím kolekce není vnitřně bezpečným postupem pro přístup z více vláken. Chcete-li zaručit bezpečnost vláken během výčtu, můžete kolekci uzamknout během celého výčtu. Pokud chcete povolit přístup ke kolekci více vlákny pro čtení a zápis, musíte implementovat vlastní synchronizaci.

Vlastnost ICollection.SyncRoot vrátí objekt, který lze použít k synchronizaci přístupu k objektu ICollection. Synchronizace je platná pouze v případě, že všechna vlákna uzamknou objekt před přístupem k kolekci. Následující kód ukazuje použití SyncRoot vlastnosti.

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

Získání hodnoty této vlastnosti je operace O(1).

Platí pro

Viz také