語言

DictionaryBase.ICollection.IsSynchronized 屬性

定義

取得值,指出對 DictionaryBase 物件的存取是否同步處理 (線程安全)。

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若物件存取DictionaryBase是同步的(執行緒安全);否則, false 預設值為 false。

實作

範例

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

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

取得該屬性的價值是一個 O(1) 操作。

備註

物件 DictionaryBase 沒有同步。 衍生類別可利用該DictionaryBase特性提供該類別的同步版本SyncRoot。

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

適用於

另請參閱