Поделиться через


Dictionary<TKey,TValue>.ICollection.IsSynchronized Свойство

Определение

Возвращает значение, указывающее, синхронизирован ли доступ к ICollection (потокобезопасный).

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

Значение свойства

Значение />, если доступ к синхронизирован (потокобезопасный); в противном случае . В реализации Dictionary<TKey,TValue>по умолчанию это свойство всегда возвращается false.

Реализации

Комментарии

Реализации коллекций по умолчанию в System.Collections.Generic пространстве имен не синхронизируются.

Перечисление через коллекцию по сути не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменять коллекцию, что может привести к возникновению исключения перечислителем. Чтобы гарантировать безопасность потоков во время перечисления, можно заблокировать коллекцию во время всего перечисления или поймать исключения, полученные из изменений, внесенных другими потоками.

Свойство SyncRoot возвращает объект, который можно использовать для синхронизации доступа к объекту ICollection. Синхронизация эффективна, только если все потоки блокируют объект перед доступом к коллекции.

Получение значения этого свойства — это операция O(1).

Применяется к

См. также раздел