大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C#技巧 > C#单例模式的三种写法

C#单例模式的三种写法

关键词:C#单例模式三种写法  阅读(542) 赞(10)

[摘要]本文是对C#单例模式的三种写法的讲解,对学习C#编程技术有所帮助,与大家分享。

第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我……

publicclassSingleton
{
privatestaticSingleton_instance=null;
privateSingleton(){}
publicstaticSingletonCreateInstance()
{
if(_instance==null)

{
_instance=newSingleton();
}
return_instance;
}
}

第二种考虑了线程安全,不过有点烦,但绝对是正规写法,经典的一叉

publicclassSingleton
{
privatevolatilestaticSingleton_instance=null;
privatestaticreadonlyobjectlockHelper=newobject();
privateSingleton(){}
publicstaticSingletonCreateInstance()
{
if(_instance==null)
{
lock(lockHelper)
{
if(_instance==null)
_instance=newSingleton();
}
}
return_instance;
}
}

第三种可能是C#这样的高级语言特有的,实在懒得出奇

publicclassSingleton
{

privateSingleton(){}
publicstaticreadonlySingletoninstance=newSingleton();
}



相关评论