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