//得到该对象 public static Singleton_DoubleCheckedLocking GetInstance() { //Double-Checked Locking implements a thread-safe singleton class //java中的写法是synchronized(Singleton.class){},同时配上volatile的成员 //C# volatile修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段 if (uniqueInstance == null) { lock (locker) { //延迟实例化 if (uniqueInstance == null) { uniqueInstance = new Singleton_DoubleCheckedLocking(); } } } return(uniqueInstance); }
//得到该对象 public static Singleton_DoubleCheckedLocking GetInstance() { //Double-Checked Locking implements a thread-safe singleton class //java中的写法是synchronized(Singleton.class){},同时配上volatile的成员 //C# volatile修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段 if (uniqueInstance == null) { lock (locker) { //延迟实例化 if (uniqueInstance == null) { uniqueInstance = new Singleton_DoubleCheckedLocking(); } } } return uniqueInstance; }