SortedDictionary<TKey,TValue>.ValueCollection.ICollection.SyncRoot Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het ICollectionobject te synchroniseren.
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
Waarde van eigenschap
Een object dat kan worden gebruikt om de toegang tot de ICollection. In de standaard implementatie van SortedDictionary<TKey,TValue>.ValueCollection, deze eigenschap retourneert altijd de huidige instantie.
Implementeringen
Opmerkingen
Standaard implementaties van verzamelingen in de System.Collections.Generic naamruimte worden niet gesynchroniseerd.
Het inventariseren via een verzameling is intrinsiek geen thread-veilige procedure. Om de veiligheid van threads tijdens de inventarisatie te garanderen, kunt u de verzameling vergrendelen tijdens de gehele inventarisatie. Als u wilt toestaan dat de verzameling toegankelijk is voor meerdere threads voor lezen en schrijven, moet u uw eigen synchronisatie implementeren.
De SyncRoot eigenschap retourneert een object dat kan worden gebruikt om de toegang tot de ICollection. Synchronisatie is alleen van kracht als alle threads het object vergrendelen voordat ze toegang krijgen tot de verzameling. De volgende code toont het gebruik van de SyncRoot eigenschap.
ICollection ic = ...;
lock (ic.SyncRoot)
{
// Access the collection.
}
Dim ic As ICollection = ...
SyncLock ic.SyncRoot
' Access the collection.
End SyncLock
Het ophalen van de waarde van deze eigenschap is een O(1)-bewerking.