System.Collections.Hashtable.IsSynchronized Property

Gets a value indicating whether access to the Hashtable is synchronized (thread safe).

Syntax

public virtual bool IsSynchronized { get; }

Value

true if access to the current instance is synchronized (thread-safe); otherwise, false.

Remarks

A Hashtable can support one writer and multiple readers concurrently. To support multiple writers, all operations must be done through the wrapper returned by the Hashtable.Synchronized(Hashtable) method.

Enumerating through a collection is intrinsically not a thread safe procedure. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

The following code example shows how to lock the collection using the Hashtable.SyncRoot during the entire enumeration:

code reference: Classic Hashtable.IsSynchronized Example#2

Requirements

Namespace: System.Collections
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0