关于c#:单例类


singleton classes

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Singleton: How should it be used

为什么我们要用单件课


好吧,我会尽量避免使用它们,因为实际上您在项目中引入了全局元素。但是,如果您的项目中有一个资源,而您只想拥有其中一个资源,那么您可以决定使用它们。例如到单个数据库源、缓存或工厂的链接。


不要。。。。。。。。。。。。


您正在用C语言构建应用程序。您需要一个只有一个实例的类,并且需要提供对该实例的全局访问点。您希望确保您的解决方案是高效的,并充分利用Microsoft.NET公共语言运行时功能。您可能还需要确保您的解决方案是线程安全的。

效益

γ

静态初始化方法是可能的,因为.NET框架显式定义了静态变量初始化的方式和时间。γ

前面在"多线程单例"中描述的双重检查锁定习惯用法在公共语言运行时正确实现。

债务

如果多线程应用程序需要显式初始化,则必须采取预防措施以避免线程问题。