ListDictionary.IsSynchronized Właściwość

Definicja

Pobiera wartość wskazującą, czy ListDictionary element jest synchronizowany (bezpieczny wątek).

C#
public bool IsSynchronized { get; }

Wartość właściwości

Ta właściwość zawsze zwraca wartość false.

Implementuje

Przykłady

W poniższym przykładzie kodu pokazano, jak zablokować kolekcję przy użyciu SyncRoot elementu w trakcie całego wyliczenia.

C#
ListDictionary myCollection = new ListDictionary();
lock(myCollection.SyncRoot)
{
    foreach (object item in myCollection)
    {
        // Insert your code here.
    }
}

Pobieranie wartości tej właściwości jest operacją O(1).

Uwagi

ListDictionary implementuje IsSynchronized właściwość, ponieważ jest wymagana System.Collections.ICollection przez interfejs.

Klasy pochodne mogą zapewnić zsynchronizowaną wersję ListDictionary właściwości .SyncRoot

Wyliczanie w kolekcji nie jest wewnętrznie procedurą odporną na wielowątkowość. Nawet gdy kolekcja jest synchronizowana, inne wątki nadal mogą ją modyfikować. Powoduje to zgłaszanie wyjątku przez moduł wyliczający. Aby zagwarantować bezpieczeństwo wątków podczas wyliczania, można zablokować kolekcję podczas całego procesu wyliczania albo rejestrować wyjątki wynikłe ze zmian wprowadzanych przez inne wątków.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Zobacz też