TreeNodeCollection.SyncRoot TreeNodeCollection.SyncRoot TreeNodeCollection.SyncRoot TreeNodeCollection.SyncRoot Property

Определение

Возвращает объект, который позволяет синхронизировать доступ к объекту TreeNodeCollection.Gets an object that can be used to synchronize access to the TreeNodeCollection object.

public:
 property System::Object ^ SyncRoot { System::Object ^ get(); };
public object SyncRoot { get; }
member this.SyncRoot : obj
Public ReadOnly Property SyncRoot As Object

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

Object, который может быть использован для синхронизации доступа к коллекции TreeNodeCollection.A Object that can be used to synchronize access to the TreeNodeCollection.

Реализации

Комментарии

Свойство предоставляет синхронизированную версию TreeNodeCollection , которую можно использовать с синхронизацией (потоковой) кода. SyncRootThe SyncRoot property provides a synchronized version of the TreeNodeCollection that can be used with synchronizing (threading) code.

Внимание!

Свойство этого класса всегда возвращает falseзначение TreeNodeCollection , которое указывает, что класс не является синхронизированным (не является потокобезопасным). IsSynchronizedThe IsSynchronized property of this class always returns false, which indicates that the TreeNodeCollection class is not synchronized (not thread safe).

Синхронизация кода должна выполнять операции с SyncRoot объектом TreeNodeCollection TreeNodeCollection , а не непосредственно с самим собой.Synchronizing code must perform operations on the SyncRoot object of the TreeNodeCollection, not directly on the TreeNodeCollection itself. Это обеспечивает правильную работу коллекций, являющихся производными других объектов.This ensures proper operation of collections that are derived from other objects. В частности, он поддерживает правильную синхронизацию с другими потоками, которые TreeNodeCollection могут одновременно изменять объект.Specifically, it maintains proper synchronization with other threads that might be simultaneously modifying the TreeNodeCollection object.

Примечание

Объект, возвращаемый в этой реализации, System.Collections.ArrayList является объектом, используемым TreeNode для хранения объектов в коллекции.The object returned in this implementation is the System.Collections.ArrayList object used to store the TreeNode objects in the collection.

Перечисление коллекции не является потокобезопасной процедурой.Enumerating through a collection is intrinsically not a thread-safe procedure. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменить коллекцию, что приводит к созданию исключения перечислителем.Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. Для обеспечения потокобезопасности при перечислении можно либо заблокировать коллекцию на все время перечисления, либо перехватывать исключения, возникающие в результате изменений, внесенных другими потоками.To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

Дополнительные сведения SyncRoot о свойстве см. в ICollection.SyncRoot описании свойства System.Collections.ICollection интерфейса.For more information on the SyncRoot property, see the ICollection.SyncRoot property of the System.Collections.ICollection interface.

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

Дополнительно