SunK

无聊,竟也无聊的苍白
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

设计模式学习之单件模式的静态初始化

Posted on 2009-03-01 22:12  SunK  阅读(532)  评论(0编辑  收藏  举报

静态初始化:

    C#与公共语言运行库提供了一种“静态初始化”方法,这种方法不需要开发人员显式地编写线程安全代码,即可解决多线程环境下他是不安全的问题。先看代码:

Code
public sealed class Singleton //sealed阻止发生派生,而派生可能会增加实例
{
    
private static readonly Singleton instance=new Singleton();//readonly意味着只能在静态初始化期间或类构造函数中分配变量
    private Singleton(){}
    
public static Singleton GetInstance()
    {
        
return instance;
    }
}


    所谓的静态初始化方式,就是在类被加载时实例化的一种方式。这样做的缺点是要提前占用系统资源。优点是更简单地解决了线程安全问题。但是他同样解决了单件模式试图解决的两个基本问题:全局访问和实例化控制

    后来,发现有人对延迟初始化说的也是含糊不清,就不了解了,有了以上的就可以了。