TreeNodeCollection.SyncRoot Właściwość

Definicja

Pobiera obiekt, który może służyć do synchronizowania dostępu do TreeNodeCollection obiektu.

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

Wartość właściwości

Element Object , który może służyć do synchronizowania dostępu do elementu TreeNodeCollection.

Implementuje

Uwagi

Właściwość SyncRoot udostępnia zsynchronizowaną wersję TreeNodeCollection , która może być używana z kodem synchronizowania (wątkowania).

Przestroga

Właściwość IsSynchronized tej klasy zawsze zwraca falsewartość , która wskazuje, że TreeNodeCollection klasa nie jest zsynchronizowana (nie jest bezpieczna wątkowa).

Synchronizowanie kodu musi wykonywać operacje na SyncRoot obiekcie TreeNodeCollectionobiektu , a nie bezpośrednio na TreeNodeCollection samym sobie. Gwarantuje to prawidłowe funkcjonowanie kolekcji, które są uzyskiwane z innych obiektów. W szczególności utrzymuje właściwą synchronizację z innymi wątkami, które mogą być jednocześnie modyfikowane przez TreeNodeCollection obiekt.

Uwaga

Obiekt zwrócony w tej implementacji jest System.Collections.ArrayList obiektem używanym do przechowywania TreeNode obiektów w kolekcji.

Wyliczanie w kolekcji nie jest wewnętrznie procedurą odporną na wielowątkowość. Nawet w przypadku synchronizacji kolekcji inne wątki mogą nadal modyfikować kolekcję, co powoduje, że moduł wyliczający zgłasza wyjątek. Aby zagwarantować bezpieczeństwo wątków podczas wyliczania, można zablokować kolekcję podczas całego procesu wyliczania albo rejestrować wyjątki wynikłe ze zmian wprowadzanych przez inne wątków.

Aby uzyskać więcej informacji na SyncRoot temat właściwości, zobacz ICollection.SyncRoot właściwość interfejsu System.Collections.ICollection .

Dotyczy

Zobacz też