c 實現單例模式 懶漢式,餓漢式

2021-09-22 10:09:02 字數 1058 閱讀 2836

這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。這種模式涉及到乙個單一的類,該類負責建立自己的物件,同時確保只有單個物件被建立。這個類提供了一種訪問其唯一的物件的方式,可以直接訪問,不需要例項化該類的物件。

#include #include #define barrier() __asm__ __volatile__("" ::: "memory")

using namespace std;

class singleton

singleton(const singleton&);

singleton& operator = (const singleton&);

public:

static singleton* getinstance();

static pthread_mutex_t mutex;

void print()

};pthread_mutex_t singleton::mutex;

singleton* singleton::pinstance = null;

singleton* singleton::getinstance()

pthread_mutex_unlock(&mutex);

}return pinstance;

}int main()

#include using namespace std;

class singleton

singleton(const singleton&);

singleton& operator = (const singleton&);

public:

static singleton* getinstance();

void print()

};singleton* singleton::pinstance = new singleton;

singleton* singleton::getinstance()

int main()

單例模式(餓漢式 懶漢式)

2.餓漢式 立即載入 3.懶漢式 延遲載入 定義 單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項,這個類稱為單例類,它提供全域性訪問的辦法。單例模式的要點有兩個 public class singleton 靜態方法,可以加入自定義控制,保證只產生乙個例項 public s...

單例模式 懶漢式 餓漢式

單例 1 訪問頻率高適合做成單例 2 這個類本身就是要描述乙個物件,就是想產生乙個物件就夠了,這樣的情況也是需要維護成乙個物件就ok 了 1 物件訪問高 建立物件不寄存客戶資料 適合 建立物件寄存客戶資料 不適合 第一步 把構造器變成私有的 構造器私有化 就是在別的地方new不成 靜態成員可以直接用...

單例模式(餓漢式 懶漢式)

所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法。public class singleton 靜態方法返回例項 public static singleton getstingleton 這種方式是執行緒安全的 p...