C# | Check if Hashtable is synchronized (thread safe)
Hashtable.IsSynchronized Property is used to get a value indicating whether access to the Hashtable is synchronized(thread-safe).
Syntax:
public virtual bool IsSynchronized { get; }
Return Value: This property return true if access to the Hashtable is synchronized (thread-safe), otherwise it returns false. The default is false.
Below programs illustrate the use of above-discussed property:
Example 1:
// C# code to check if Hashtable // Is Synchronized or not using System; using System.Collections; class GFG { // Driver code public static void Main() { // create and initialize Hashtable // using Add() method Hashtable has1 = new Hashtable(); has1.Add( "1" , "Welcome" ); has1.Add( "2" , "to" ); has1.Add( "3" , "Beginner" ); has1.Add( "4" , "for" ); has1.Add( "5" , "Beginner" ); // Creates a synchronized // wrapper around the Hashtable. Hashtable smyTable = Hashtable.Synchronized(has1); // Displays the synchronization // status of both Hashtables. Console.WriteLine( "has1 is {0}." , has1.IsSynchronized ? "Synchronized" : "Not Synchronized" ); Console.WriteLine( "smyTable is {0}." , smyTable.IsSynchronized ? "Synchronized" : "Not Synchronized" ); } } |
Output:
has1 is Not Synchronized. smyTable is Synchronized.
Example 2:
// C# code to check if Hashtable // Is Synchronized or not using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable Hashtable myTable = new Hashtable(); // Adding elements in Hashtable myTable.Add( "G" , "Beginner" ); myTable.Add( "C" , "C#" ); myTable.Add( "D" , "Data Structures" ); myTable.Add( "Q" , "Quiz" ); // Checking if Hashtable is // synchronized (thread safe) Console.WriteLine(myTable.IsSynchronized); } } |
Output:
False
Note: 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 Synchronized method.
Reference:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.hashtable.issynchronized?view=netframework-4.7.2
Contact Us