共用方式為


PropertyCollection.ICollection.IsSynchronized 屬性

定義

取得值,這個值表示對 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  

適用於

另請參閱