C# singleton单例模式的最佳实践

   2024-10-02 7940
核心提示:在C#中,可以通过以下方式实现最佳的单例模式:public sealed class Singleton{private static Singleton instance = null;priva

在C#中,可以通过以下方式实现最佳的单例模式:

public sealed class Singleton{    private static Singleton instance = null;    private static readonly object padlock = new object();    private Singleton()    {    }    public static Singleton Instance    {        get        {            lock (padlock)            {                if (instance == null)                {                    instance = new Singleton();                }                return instance;            }        }    }    public void SomeMethod()    {        // Do something    }}

在上面的代码中,我们使用了双重检查锁定来确保线程安全性,同时使用private构造函数和readonly关键字来保证单例的唯一性和不可变性。通过Instance属性来获取单例实例,确保只创建一个实例并在需要时返回该实例。

使用该单例模式的示例代码如下:

Singleton instance1 = Singleton.Instance;instance1.SomeMethod();Singleton instance2 = Singleton.Instance;instance2.SomeMethod();Console.WriteLine(instance1 == instance2); // Output: True

通过这种方式实现的单例模式可以保证在多线程环境下也能够正确地返回单一实例,并且保证了单例实例的唯一性和不可变性。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号