国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

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

2020-01-24 01:42:40
字體:
來源:轉載
供稿:網友

第一種最簡單,但沒有考慮線程安全,在多線程時可能會出問題,不過俺從沒看過出錯的現象,表鄙視我……

復制代碼 代碼如下:

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!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平区| 房产| 衢州市| 河曲县| 牡丹江市| 自治县| 南川市| 尚义县| 井研县| 长兴县| 文水县| 贡觉县| 宁海县| 北碚区| 皮山县| 琼结县| 高邮市| 威信县| 永城市| 财经| 永登县| 抚州市| 楚雄市| 红桥区| 朝阳市| 牡丹江市| 游戏| 景谷| 玛纳斯县| 武川县| 会理县| 台前县| 凌海市| 基隆市| 渝中区| 汉源县| 丘北县| 桂林市| 当阳市| 宁阳县| 孟村|