Sdílet prostřednictvím


DictionaryBase.ICollection.IsSynchronized Vlastnost

Definice

Získá hodnotu označující, zda přístup k objektu DictionaryBase je synchronizován (bezpečné pro přístup z více vláken).

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

Hodnota vlastnosti

true pokud je přístup k objektu DictionaryBase synchronizovaný (bezpečný pro přístup z více vláken), jinak false. Výchozí formát je false.

Implementuje

Příklady

Následující příklad kódu ukazuje, jak uzamknout kolekci SyncRoot pomocí vlastnosti během celého výčtu.

ICollection^ myCollection = gcnew ShortStringDictionary();
bool lockTaken = false;
try
{
    Monitor::Enter(myCollection->SyncRoot, lockTaken);
    for each (Object^ item in myCollection);
    {
        // Insert your code here.
    }
}
finally
{
    if (lockTaken)
    {
        Monitor::Exit(myCollection->SyncRoot);
    }
}
ICollection myCollection = new ShortStringDictionary();
lock(myCollection.SyncRoot)
{
    foreach (Object item in myCollection)
    {
        // Insert your code here.
    }
}
Dim myCollection As ICollection = New ShortStringDictionary()
SyncLock myCollection.SyncRoot
    For Each item In myCollection
        ' Insert your code here.
    Next item
End SyncLock

Načtení hodnoty této vlastnosti je O(1) operace.

Poznámky

Objekt DictionaryBase není synchronizován. Odvozené třídy mohou poskytovat synchronizovanou verzi DictionaryBase třídy pomocí SyncRoot vlastnosti .

Výčet prostřednictvím kolekce nemůže být procedurou bezpečnou pro přístup z více vláken. I v případě, že jde o synchronizovanou kolekci, mohou úpravy provádět i ostatní vlákna, což způsobuje vyvolání výjimky enumerátorem. K zaručení bezpečnosti přístupu z více vláken můžete buďto zamknout kolekci na celou dobu práce s výčtem, nebo zachycovat výjimky vzniklé v důsledku změn prováděných ostatními vlákny.

Platí pro

Viz také