共用方式為


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,可用於同步處理 MenuItemCollection 的存取。

實作

備註

屬性 SyncRoot 會提供同步處理版本的 MenuItemCollection 物件,可與同步處理 (執行緒) 程式碼搭配使用。

警告

IsSynchronized這個類別的 屬性一律會傳 false 回 ,這表示類別 MenuItemCollection 不會同步處理, (不是安全線程) 。

同步處理常式代碼必須在集合的物件 MenuItemCollectionSyncRoot 執行作業,而不是直接在 MenuItemCollection 物件本身上執行作業。 如此可確保衍生自其他物件的集合可以正常運作, 具體而言,它會與可能同時修改 MenuItemCollection 物件的其他執行緒維持適當的同步處理。

注意

這個實作中傳回的物件是 ArrayList 用來將物件儲存 MenuItem 在集合中的 物件。

透過集合進行列舉在本質上並非安全執行緒程序。 即使已同步處理集合,其他執行緒仍可修改集合,導致列舉值擲回例外狀況。 若要保證列舉過程的執行緒安全,您可以在整個列舉過程中鎖定集合,或攔截由其他執行緒的變更所造成的例外狀況。

如需 屬性的詳細資訊 SyncRoot ,請參閱 SyncRoot 介面的 ICollection 屬性。

適用於

另請參閱