程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中單例形式的三種寫法示例

C#中單例形式的三種寫法示例

編輯:C#入門知識

C#中單例形式的三種寫法示例。本站提示廣大學習愛好者:(C#中單例形式的三種寫法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中單例形式的三種寫法示例正文


第一種最簡略,但沒有斟酌線程平安,在多線程時能夠會出成績,不外俺從沒看過失足的景象,表小看我……

public class Singleton
{
    private static Singleton _instance = null;
    private Singleton(){}
    public static Singleton CreateInstance()
    {
        if(_instance == null)
        {
            _instance = new Singleton();
        }
        return _instance;
    }
}

第二種斟酌了線程平安,不外有點煩,但相對是正軌寫法,經典的一叉

public class Singleton
{
    private volatile static Singleton _instance = null;
    private static readonly object lockHelper = new object();
    private Singleton(){}
    public static Singleton CreateInstance()
    {
        if(_instance == null)
        {
            lock(lockHelper)
            {
                if(_instance == null)
                     _instance = new Singleton();
            }
        }
        return _instance;
    }
}

第三種能夠是C#如許的高等說話獨有的,其實懶得出奇

public class Singleton
{
    private Singleton(){}
    public static readonly Singleton instance = new Singleton();
}

哦,shit!

  1. 上一頁:
  2. 下一頁: