第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我……
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#单例模式详解C#单例模式详解C#单例模式详解
C# 单例模式小实例C# 单例模式小实例C# 单例模式小实例C# 单例模式小实例C# 单例模式小实例
一个用C#写的 实现单例模式的源码程序和大家分享交流一下
c#单例模式示例,帮助实现懒惰加载,线程安全。
C#版本的单例模式源码
C#单例模式的应用,这里给的是C#里面一个单例模式的应用案例,面向对象过程中不可避免的需要用到单例模式,我在博客园中有详细说明单例模式怎么应用的,链接地址:...
如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要介绍的——单例模式(Singleton)。 使用频率高 单件模式(Singleton...
以前学校让做的项目,留给初学者参考,里面使用单例模式设计的,对初学者有很大的帮助,简单易懂。很好的资源
如题。 没有什么特别要说明的。 一个C#版单例模式的xml解析类
C#单例模式的讲解视频,内容很好是学习编程模式的好资料。
unity中在场景切换时需要经常数据分享并处理,在此分享给大家利用C#模式和Unity模式分别实现的单例共享数据
主要介绍了c# 单例模式的实现方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
帮助你充分理解单例模式,非常好理解的模型,下载下来试试看吧,不需要积分。
本压缩包含有两个demo,分别对应<设计模式>第2版,刘伟这本书,单例模式这一章课后习题6、7,如果问题请留言一起探讨,谢谢!
主要介绍了C#单例模式(Singleton Pattern)的实现方法,主要讲述了即时加载的单例模式、延迟加载的单例模式与线程安全的单例模式,需要的朋友可以参考下
单例模式窗口的实现,c#程序,winform,实现单例窗口,点击后不会新弹出页面
主要为大家详细介绍了C#单例模式Singleton Pattern的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下