c#单例模式3中写法
来源:互联网 发布:数据库营销例子 编辑:程序博客网 时间:2024/06/05 09:04
C#单例模式的三种写法
博客分类: - C#
CC++C#多线程
第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我……
public class Singleton
{
private static Singleton _instance = null;
private Singleton(){}
public static Singleton CreateInstance()
{
if(_instance == null)
{
_instance = new Singleton();
}
return _instance;
}
}
第二种考虑了线程安全,不过有点烦,但绝对是正规写法,经典的一叉
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;
}
}
第三种可能是C#这样的高级语言特有的,实在懒得出奇
public class Singleton
{
private Singleton(){}
public static readonly Singleton instance = new Singleton();
}
哦,shit!
C#单例模式的三种写法
- 博客分类:
- C#
第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我……
public class Singleton
{
private static Singleton _instance = null;
private Singleton(){}
public static Singleton CreateInstance()
{
if(_instance == null)
{
_instance = new Singleton();
}
return _instance;
}
}
第二种考虑了线程安全,不过有点烦,但绝对是正规写法,经典的一叉
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;
}
}
第三种可能是C#这样的高级语言特有的,实在懒得出奇
public class Singleton
{
private Singleton(){}
public static readonly Singleton instance = new Singleton();
}
哦,shit!
- c#单例模式3中写法
- OC中各种单例模式写法
- 单例模式的七中写法
- 单例模式的七中写法
- 单例模式的七中写法
- 单例模式的7中写法
- 单例模式写法
- 单例模式写法
- 单例模式写法
- 单例模式写法
- C#单例模式的三种写法
- 转:c#单例模式三种写法
- C#单例模式的三种写法
- C#单例模式的三种写法
- C#单例模式的三种写法
- C#单例模式的三种写法
- C#单例模式的三种写法
- C#单例模式的三种写法
- Python图像处理库PIL中快速傅里叶变换FFT的实现(一)
- redis持久化
- 【算法】欧拉函数——小于n的数中与n互质数的数目
- 在Eclipse中将Android项目生成APK并且签名
- spark
- c#单例模式3中写法
- 【PA2014】【BZOJ3716】Muzeum
- 【BZOJ3651】网络通信
- 【CERC2014】【BZOJ4043】Vocabulary
- snprintf类型不匹配导致的core dump问题分析与定位
- 【Android】ListView多选模式的使用
- 天声人語 20160326 津軽海峡の新幹線
- 关于同步线程安全问题
- 读书笔记——鸟哥(02)首次登入