1 /// <summary> 2 /// 饿汉模式 3 /// </summary> 4 public class SingletonTest 5 { 6 private static SingletonTest instance=new SingletonTest(); 7 8 private SingletonTest() { } 9 10 public static SingletonTest GetInstance() 11 { 12 return instance; 13 } 14 }
1 public sealed class SingletonTest 2 { 3 private static readonly SingletonTest instance = new SingletonTest(); 4 5 private SingletonTest() { } 6 7 public static SingletonTest GetInstance() 8 { 9 return instance; 10 } 11 }
1 //懒汉模式 2 public class SingletonTest 3 { 4 private static SingletonTest instance; 5 6 private SingletonTest() { } 7 8 public static SingletonTest GetInstance() 9 { 10 if (instance == null) 11 { 12 instance = new SingletonTest(); 13 } 14 return instance; 15 } 16 }
1 public class SingletonTest 2 { 3 private static SingletonTest instance; 4 private static readonly object syncRoot = new object(); 5 private SingletonTest() { } 6 7 public static SingletonTest GetInstance() 8 { 9 10 if (instance == null) 11 { 12 lock (syncRoot) 13 { 14 if (instance == null) 15 { 16 instance = new SingletonTest(); 17 } 18 } 19 } 20 return instance; 21 } 22 }
原文:https://www.cnblogs.com/ywkcode/p/15085223.html