ICollection.IsSynchronized 屬性

定義

取得值,指出是否同步存取 ICollection (線程安全)。

public:
 property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean

屬性值

trueICollection存取 是同步的(執行緒安全);否則, false

備註

SyncRoot回傳一個物件,可用來同步存取。ICollection

命名空間中的 System.Collections 大多數集合類別也實作同步方法,提供底層集合的同步包裝。

透過集合列舉本質上不是安全線程的程式。 即使集合同步處理,其他線程仍然可以修改集合,這會導致列舉值擲回例外狀況。 若要保證列舉期間的線程安全性,您可以在整個列舉期間鎖定集合,或攔截其他線程所做的變更所產生的例外狀況。

以下程式碼範例說明如何在整個列舉過程中使用該 SyncRoot 屬性鎖定集合。

ICollection myCollection = someCollection;
lock(myCollection.SyncRoot)
{
    foreach (object item in myCollection)
    {
        // Insert your code here.
    }
}
Dim myCollection As ICollection = someCollection
SyncLock myCollection.SyncRoot
    For Each item In myCollection
        ' Insert your code here.
    Next item
End SyncLock

適用於

另請參閱