C# 单例模式
Posted 胡文杰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 单例模式相关的知识,希望对你有一定的参考价值。
单例模式:一个类只能有一个实例对象。这样就决定了它有以下几个特点。
- 不能被继承,那得用
sealed
修饰类; - 将构造函数隐藏起来,
private
构造函数; - 公有静态方法创建单一实例;
- 为了保证多线程情况下的单一实例原则,还得加个线程锁;
简单代码实现如下:
public sealed class Singletion
{
private static Singletion _singletion = null;
// 线程锁辅助对象
private static readonly object _lockObj = new object();
private Singletion()
{
}
public static Singletion Instance()
{
// 保证线程安全,多线程情况下只有一个对象实例
if (_singletion == null)
{
lock(_lockObj)
{
_singletion = new Singletion();
}
}
return _singletion;
}
}
以上是关于C# 单例模式的主要内容,如果未能解决你的问题,请参考以下文章