Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

List.System.Collections.ICollection.SyncRoot-Eigenschaft

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

Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)

Object ICollection.SyncRoot { get; }
Nicht zutreffend.

Eigenschaftenwert

Ein Objekt, mit dem der Zugriff auf die ICollection synchronisiert werden kann. In der Standardimplementierung der List gibt diese Eigenschaft immer die aktuelle Instanz zurück.

Standardimplementierungen von Auflistungen im System.Collections.Generic-Namespace 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#, C++ und Visual Basic veranschaulicht.

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

Das Abrufen des Werts dieser Eigenschaft ist eine O(1)-Operation.

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

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0

.NET Compact Framework

Unterstützt in: 2.0
Anzeigen: