public static Singleton2 GetSingleton() { lock (_lock) //保证线程安全 { if (_singleton == null) //保证为空才创建 { _singleton = new Singleton2(); } return(_singleton); } }
public static Singleton2 getInstance() { lock (syncObj) { Console.WriteLine("LOCK"); if (instance == null) { Console.WriteLine("null and create"); instance = new Singleton2(); } } return(instance); }
static void Main(string[] args) { Singleton2 <Dzialania> obiekt = Dzialania.GetInstance(); obiekt.Dodaj_liczby(); obiekt = Dzialania.GetInstance(); obiekt.Dodaj_liczby(); Dzialania dzialania = new Dzialania(); dzialania.Dodaj(); obiekt = Dzialania.GetInstance(); obiekt.Dodaj_liczby(); Console.ReadKey(); }
static void Main(string[] args) { Singleton.GetInstance().Test(); Singleton2.GetInstance().Test2(); }