List<T>.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
Значение свойства
true
, если доступ к классу ICollection является синхронизированным (потокобезопасным); в противном случае — false
. В используемой по умолчанию реализации List<T> это свойство всегда возвращает значение false
.
Реализации
Комментарии
Используемые по умолчанию реализации коллекций в пространстве имен System.Collections.Generic не синхронизированы.
Перечисление коллекции не является потокобезопасной процедурой. В редких случаях, когда перечисление борется с доступом на запись, можно заблокировать коллекцию на протяжении всего перечисления. Чтобы разрешить доступ к коллекции из нескольких потоков для чтения и записи, необходимо реализовать собственную синхронизацию.
SyncRoot возвращает объект , который можно использовать для синхронизации доступа к объекту ICollection. Синхронизация действует только в том случае, если все потоки блокируют этот объект перед доступом к коллекции.
Получение значения данного свойства является операцией порядка сложности O(1).