singleton classes
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Singleton: How should it be used
为什么我们要用单件课
好吧,我会尽量避免使用它们,因为实际上您在项目中引入了全局元素。但是,如果您的项目中有一个资源,而您只想拥有其中一个资源,那么您可以决定使用它们。例如到单个数据库源、缓存或工厂的链接。
不要。。。。。。。。。。。。
您正在用C语言构建应用程序。您需要一个只有一个实例的类,并且需要提供对该实例的全局访问点。您希望确保您的解决方案是高效的,并充分利用Microsoft.NET公共语言运行时功能。您可能还需要确保您的解决方案是线程安全的。
效益
γ
静态初始化方法是可能的,因为.NET框架显式定义了静态变量初始化的方式和时间。γ
前面在"多线程单例"中描述的双重检查锁定习惯用法在公共语言运行时正确实现。
债务
如果多线程应用程序需要显式初始化,则必须采取预防措施以避免线程问题。