StringDictionary.IsSynchronized Egenskap

Definition

Hämtar ett värde som anger om åtkomsten StringDictionary till är synkroniserad (trådsäker).

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

Egenskapsvärde

trueom åtkomsten StringDictionary till är synkroniserad (trådsäker), annars . false

Exempel

I följande kodexempel visas hur du låser samlingen med hjälp av SyncRoot under hela uppräkningen.

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

Att hämta värdet för den här egenskapen är en O(1)-åtgärd.

Kommentarer

En StringDictionary instans synkroniseras inte. Härledda klasser kan tillhandahålla en synkroniserad version av egenskapen med hjälp av StringDictionary egenskapen SyncRoot .

Att räkna upp genom en samling är i sig inte en trådsäker procedur. Även när en samling synkroniseras kan andra trådar fortfarande ändra samlingen, vilket gör att uppräknaren genererar ett undantag. För att garantera trådsäkerheten under uppräkningen kan du antingen låsa samlingen under hela uppräkningen eller fånga undantagen från ändringar som gjorts av andra trådar.

Gäller för