namespace Crational.Singleton
public static void Main()
for ( int i = 0; i < 20; i++ )
singleton.instance().sgMethod();
private static singleton _instance;
private static object mylock = new Object();
private static int n = 0;
public static singleton instance()
_instance = new singleton();
Console.WriteLine("I am in Singleton method -> " + n++);
public class singletonEarly
private static singletonEarly _instance = new singletonEarly();
private static int n = 0;
private singletonEarly() {}
public static singletonEarly instance()
Console.WriteLine("I am in SingletonEarly method -> " + n++);