C# Multithread Singleton Pattern Example
The singleton pattern is a design pattern that restricts the instantiation of a class to one object. This is important when exactly one object is needed to coordinate actions across the system. Following example allows only a single thread to enter the critical area.
public sealed class Singleton
{
private static volatile Singleton _instance = null;
private static object _syncRoot = new Object();
///
/// Constructor must be private.
///
private Singleton() { }
public static Singleton Instance
{
get
{
if (_instance == null)
{
lock (_syncRoot)
{
if (_instance == null)
_instance = new Singleton();
}
}
return _instance;
}
}
}
Pingback: C# Generic Cache Manager Example | C# Examples