設計模式——單例模式

單例模式:一個類只生成一個實例對象。要從生成唯一一個實例,構造函數就要設爲私有,一般有兩種模式:一位餓漢式,只有在空的時候分配內存

class Singleton
{
private:
    Singleton()
    {}
    static Singleton* instance;
publicstatic Singlenton* getInstance()
    {
        if(install == NULL)
        {
            instance = new Singlenton;
        }
        return instance;
    }
};

下面爲飽漢式:

class Singlenton
{
private:
    Singlenton()
    {}
    static Singlenton* instance;
publicstatic Singlenton* getInstance
    {
        return instance;
    }
};

Singlenton* Singlenton::instance = new Singlenton;

在多個線程之間,用餓漢式,懶漢式不同線程之間不能同步,在大規模的系統中,爲了性能考慮,需要節省對象創建的時間時,可以採用單例模式。

發佈了116 篇原創文章 · 獲贊 72 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章