X509ExtensionCollection.SyncRoot Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект, который можно использовать для синхронизации доступа к объекту X509ExtensionCollection .
public:
property System::Object ^ SyncRoot { System::Object ^ get(); };
public object SyncRoot { get; }
member this.SyncRoot : obj
Public ReadOnly Property SyncRoot As Object
Значение свойства
Объект, который можно использовать для синхронизации доступа к объекту X509ExtensionCollection .
Реализации
Комментарии
Это свойство реализует ICollection интерфейс. Классы .NET Framework, основанные на Array предоставлении собственной синхронизированной версии коллекции с помощью SyncRoot свойства. Классы, использующие массивы, также могут реализовать собственную синхронизацию с помощью SyncRoot свойства. Синхронизированный код должен выполнять операции со свойством SyncRoot коллекции, а не непосредственно в коллекции. Это обеспечивает правильную работу коллекций, производных от других объектов. В частности, он поддерживает правильную синхронизацию с другими потоками, которые могут одновременно изменять коллекцию. Обратите внимание, что некоторые реализации SyncRoot могут возвращать сам массив.
Перечисление через коллекцию по сути не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменить коллекцию, что приводит к возникновению исключения перечислителем. Чтобы гарантировать безопасность потоков во время перечисления, можно заблокировать коллекцию во время всего перечисления или поймать исключения, полученные из изменений, внесенных другими потоками.