VOOZH about

URL: https://www.geeksforgeeks.org/c-sharp/c-sharp-creating-a-synchronized-thread-safe-wrapper-for-the-hashtable/

⇱ C# | Creating a synchronized (thread-safe) wrapper for the Hashtable - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

C# | Creating a synchronized (thread-safe) wrapper for the Hashtable

Last Updated : 11 Jul, 2025

Hashtable.Synchronized(Hashtable) Method is used to return a synchronized (thread-safe) wrapper for the Hashtable.
Syntax:

public static System.Collections.Hashtable Synchronized (System.Collections.Hashtable table);

Here table is the Hashtable which is to be synchronized.
Return Value: This method returns a synchronized (thread-safe) wrapper for the Hashtable.
Exception: This method will throw the ArgumentNullException if the table is null. 
Below programs illustrate the use of above-discussed method:
Example 1:

Output: 
 

has1 Hashtable is not synchronized.
has2 Hashtable is synchronized.


Example 2:

Runtime Error:
 

Unhandled Exception: 
System.ArgumentNullException: Value cannot be null. 
Parameter name: table 
 

Note:

  • This method is a thread-safe for multiple readers and writers. Furthermore, the synchronized wrapper ensures that there is only one writer writing at a time.
  • Enumerating through a collection is intrinsically not a thread-safe process. Other threads can still modify the collection, which causes the enumerator to throw an exception even when a collection is synchronized.
  • 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.
  • This method is an O(1) operation.


Reference: 


 

Comment

Explore