C# | Check if Hashtable is synchronized (thread safe) (original) (raw)
Last Updated : 01 Feb, 2019
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:
CSharp `
// 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", "geeks");
has1.Add("4", "for");
has1.Add("5", "geeks");
// 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:
CSharp `
// 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", "Geeks");
myTable.Add("C", "C#");
myTable.Add("D", "Data Structures");
myTable.Add("Q", "Quiz");
// Checking if Hashtable is
// synchronized (thread safe)
Console.WriteLine(myTable.IsSynchronized);
}
}
`
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: