SortedDictionary<TKey,TValue>.ICollection.SyncRoot Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett objekt som kan användas för att synkronisera åtkomsten ICollectiontill .
property System::Object ^ System::Collections::ICollection::SyncRoot { System::Object ^ get(); };
object System.Collections.ICollection.SyncRoot { get; }
member this.System.Collections.ICollection.SyncRoot : obj
ReadOnly Property SyncRoot As Object Implements ICollection.SyncRoot
Egenskapsvärde
Ett objekt som kan användas för att synkronisera åtkomsten ICollectiontill .
Implementeringar
Kommentarer
Standardimplementeringar av samlingar i System.Collections.Generic namnområdet synkroniseras inte.
Att räkna upp genom en samling är i sig inte en trådsäker procedur. För att garantera trådsäkerheten under uppräkningen kan du låsa samlingen under hela uppräkningen. Om du vill att samlingen ska kunna nås av flera trådar för läsning och skrivning måste du implementera din egen synkronisering.
Egenskapen ICollection.SyncRoot returnerar ett objekt som kan användas för att synkronisera åtkomsten ICollectiontill . Synkroniseringen är endast effektiv om alla trådar låser objektet innan du kommer åt samlingen. Följande kod visar användningen av SyncRoot egenskapen.
ICollection ic = ...;
lock (ic.SyncRoot)
{
// Access the collection.
}
Dim ic As ICollection = ...
SyncLock ic.SyncRoot
' Access the collection.
End SyncLock
Att hämta värdet för den här egenskapen är en O(1)-åtgärd.