PropertyCollection.ICollection.IsSynchronized 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,這個值表示對 ICollection 的存取是否同步 (安全執行緒)。
property bool System::Collections::ICollection::IsSynchronized { bool get(); };
bool System.Collections.ICollection.IsSynchronized { get; }
member this.System.Collections.ICollection.IsSynchronized : bool
ReadOnly Property IsSynchronized As Boolean Implements ICollection.IsSynchronized
屬性值
如果 true 的存取為同步 (安全執行緒),則為 ICollection,否則為 false。
實作
備註
SyncRoot 會傳回物件,該物件可用來同步處理對 ICollection 的存取。
命名空間中的 System.Collections 大部分集合類別也會實作 Synchronized 方法,以提供基礎集合周圍的同步包裝函式。
透過集合列舉本質上不是安全線程程式。 即使集合經過同步化,其他的執行緒仍可修改該集合,使列舉值擲回例外狀況。 若要保證列舉期間的線程安全,您可以在整個列舉期間鎖定集合,或攔截其他線程所做的變更所產生的例外狀況。
下列範例示範如何在整個列舉期間使用 SyncRoot 鎖定 集合:
ICollection myCollection = new ICollection();
lock(myCollection.SyncRoot) {
foreach (Object item in myCollection) {
// Insert your code here.
}
}
Dim myCollection As New ICollection()
Dim item As Object
SyncLock myCollection.SyncRoot
For Each item In myCollection
' Insert your code here.
Next item
End SyncLock