源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中单例模式的三种写法示例

  • 时间:2022-03-24 07:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中单例模式的三种写法示例
[b]第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我……[/b]
[u]复制代码[/u] 代码如下:
public class Singleton {     private static Singleton _instance = null;     private Singleton(){}     public static Singleton CreateInstance()     {         if(_instance == null)         {             _instance = new Singleton();         }         return _instance;     } }
[b]第二种考虑了线程安全,不过有点烦,但绝对是正规写法,经典的一叉 [/b]
[u]复制代码[/u] 代码如下:
public class Singleton {     private volatile static Singleton _instance = null;     private static readonly object lockHelper = new object();     private Singleton(){}     public static Singleton CreateInstance()     {         if(_instance == null)         {             lock(lockHelper)             {                 if(_instance == null)                      _instance = new Singleton();             }         }         return _instance;     } }
[b]第三种可能是C#这样的高级语言特有的,实在懒得出奇[/b]
[u]复制代码[/u] 代码如下:
public class Singleton {     private Singleton(){}     public static readonly Singleton instance = new Singleton(); }
[b]哦,shit![/b]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部