MenuItemCollection.SyncRoot 属性

定义

获取一个对象,该对象可用于同步对 MenuItemCollection 对象的访问。

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

属性值

Object

一个可用于同步对 Object 的访问的 MenuItemCollection

实现

注解

SyncRoot 属性提供可用于同步 (线程) 代码的对象同步版本 MenuItemCollection

注意

IsSynchronized此类的属性始终返回false,指示MenuItemCollection类未同步 (线程安全) 。

同步代码必须对 SyncRoot 集合的对象 MenuItemCollection 执行操作,而不是直接对 MenuItemCollection 对象本身执行操作。 这样可确保对从其他对象派生的集合正确地执行操作。 具体而言,它与可能同时修改 MenuItemCollection 对象的其他线程保持适当的同步。

备注

此实现中返回的对象是 ArrayList 用于将对象存储在 MenuItem 集合中的对象。

枚举整个集合本质上不是一个线程安全的过程。 即使集合同步,其他线程仍可以修改集合,从而导致枚举器引发异常。 若要确保枚举过程中的线程安全性,可以在整个枚举期间锁定集合,或者捕获由其他线程进行的更改所导致的异常。

有关该属性的详细信息 SyncRoot ,请参阅 SyncRoot 接口的属性 ICollection

适用于

另请参阅