Freigeben über


ICollection.IsSynchronized-Eigenschaft

Ruft einen Wert ab, der angibt, ob der Zugriff auf ICollection synchronisiert (threadsicher) ist.

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

Syntax

'Declaration
ReadOnly Property IsSynchronized As Boolean
'Usage
Dim instance As ICollection
Dim value As Boolean

value = instance.IsSynchronized
bool IsSynchronized { get; }
property bool IsSynchronized {
    bool get ();
}
/** @property */
boolean get_IsSynchronized ()
function get IsSynchronized () : boolean

Eigenschaftenwert

true, wenn der Zugriff auf die ICollection synchronisiert (threadsicher) ist, andernfalls false.

Hinweise

SyncRoot gibt ein Objekt zurück, mit dem der Zugriff auf ICollection synchronisiert werden kann.

Die meisten Auflistungsklassen im System.Collections-Namespace implementieren darüber hinaus eine Synchronized-Methode, die einen synchronisierten Wrapper um die zugrunde liegende Auflistung zur Verfügung stellt.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Sie können während der Enumeration Threadsicherheit gewährleisten, indem Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen abfangen, die durch Änderungen anderer Threads ausgelöst werden.

Im folgenden Codebeispiel wird veranschaulicht, wie die Auflistung mithilfe der SyncRoot-Eigenschaft während der gesamten Enumeration gesperrt wird.

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

Plattformen

Windows 98, Windows 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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

ICollection-Schnittstelle
ICollection-Member
System.Collections-Namespace
SyncRoot