Singleton
来源:互联网 发布:手机如何申请淘宝网店 编辑:程序博客网 时间:2024/05/01 18:32
Singleton
摘自:msdn
/// <summary>
/// 多线程环境下是不安全
/// 执行过程中不同的线程都同时进入instance
/// 那么有可能创建多个Singleton对象实例
/// 并决定必须创建新的实例
/// </summary>
public class Singleton
{
private static Singleton instance;
private Singleton()
{
}
public static Singleton GetInstance()
{
if(null == instance)
{
instance = new Singleton();
}
return instance;
}
}
静态初始化
/// <summary>
/// 静态实例化
/// 避免多线程环境下是不安全
/// 第一次引用类的成员时创建创建实例
/// 公共运行库负责处理变量初始化
/// 通过sealed阻止发生派生,因为派生可能会增加实例
/// </summary>
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
private Singleton()
{
}
public static Singleton GetInstance()
{
return instance;
}
}
或者
public sealed class Singleton
{
private static volatile Singleton instance;
private static object syncRoot = new object();
private Singleton()
{
}
public static Singleton GetInstance()
{
if(null == instance)
{
lock(syncRoot)
{
if(null == instance)
{
instance = new Singleton();
}
}
}
return instance;
}
- Singleton
- Singleton
- singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Singleton
- singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Singleton
- Authorware UCD 开发大揭秘(七)
- 情人节
- 游戏外挂制作 VB =
- Authorware UCD 开发大揭秘(八)
- Authorware UCD 开发大揭秘(九)
- Singleton
- 必须掌握的八个DOS命令
- 开机自检响铃代码揭密
- 给MM修电脑的三个步骤
- 想当富人吗?先改你的穷毛病![转]
- SOHO一族与客户沟通之道![转]
- 需要一个好的心态
- 馒头和饭团(二)
- 英语