Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ReadOnlyCollection<T>.ICollection.SyncRoot-Eigenschaft

Aktualisiert: November 2007

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann.

Namespace:  System.Collections.ObjectModel
Assembly:  mscorlib (in mscorlib.dll)
Object ICollection.SyncRoot { get; }
J# unterstützt die Verwendung von expliziten Schnittstellenimplementierungen, aber nicht die Deklaration von neuen expliziten Schnittstellenimplementierungen.
JScript unterstützt keine expliziten Schnittstellenimplementierungen

Eigenschaftenwert

Typ: System.Object
Ein Objekt, mit dem der Zugriff auf die ICollection synchronisiert werden kann. In der Standardimplementierung von ReadOnlyCollection<T> gibt diese Eigenschaft immer die aktuelle Instanz zurück.

Implementiert

ICollection.SyncRoot

Standardimplementierungen der Auflistungen in System.Collections.Generic werden nicht synchronisiert.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Um Threadsicherheit während der Enumeration zu gewährleisten, können Sie die Auflistung während der gesamten Enumeration sperren. Um den Lese- und Schreibzugriff auf diese Auflistung durch mehrere Threads zuzulassen, müssen Sie eine eigene Synchronisierung implementieren.

SyncRoot gibt ein Objekt zurück, mit dem der Zugriff auf die ICollection synchronisiert werden kann. Die Synchronisierung ist nur wirksam, wenn alle Threads dieses Objekt vor dem Zugriff auf die Auflistung sperren. Im folgenden Code wird die Verwendung der SyncRoot-Eigenschaft für C#, Visual C++ und Visual Basic veranschaulicht.

ICollection ic = ...;
lock (ic.SyncRoot) {
   // Access the collection.
}

Das Abrufen des Werts dieser Eigenschaft ist ein O(1)-Vorgang.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC, Xbox 360

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0

XNA Framework

Unterstützt in: 2.0, 1.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.