【单例模式】简单C++实现
2017-04-16 22:44
260 查看
单例模式:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。
一、“懒汉”实现:第一次用到类实例才会去实例化,适用于访问量小。以时间换空间class Singleton{ protected: Singleton(){ pthread_mutex_init(&mutex); } private: static Singleton* instance; public: static pthread_mutex_t mutex; static Singleton* getInstance(); }; pthread_mutex_t Singleton::mutex; Singleton* Singleton::instance = NULL; Singleton* Singleton::getInstance(){ if(instance == NULL){ pthread_mutex_lock(&mutex); if(instance == NULL) instance = new Singleton(); pthread_mutex_unlock(&mutex); } return instace; }
二、“饿汉”实现:单例类定义的时候就初始化,以空间换时间
class Singleton{ private: static const Singleton* instance; Singleton(){} public: static const Singleton* getInstace(); } const Singleton* Singleton::instance = new Singleton; const Singleton* Singleton::getInstace(){ return instance; }
相关文章推荐
- 设计模式 -- 简单工厂模式 -- c++实现
- c++ 控制台模式下实现的简单进度条
- 设计模式C++实现_1_单例设计模式(简单实现)
- 【C++】单例模式的一种简单实现的模板
- 简单工厂设计模式C++实现
- 自己写的用c++实现的简单装饰者模式
- 设计模式 简单工厂 c++实现
- 外观模式及其在简单的学生资格审查系统中的应用(C++实现)
- C++中实现singleton(单例模式)的最简单写法
- 设计模式之简单工厂C++实现
- 《大话设计模式》读书笔记(C++代码实现) 第一章:简单工厂模式
- 简单工厂模式-C++实现
- C++实现简单工厂模式
- 大话设计模式(C++实现)--简单工厂模式
- 策略模式与简单工厂的C++实现
- 简单工厂模式 c++实现
- 设计模式之简单工厂模式:c++实现
- 简单工厂模式 C++实现
- 设计模式的C++实现 24.简单工厂模式
- 大话设计模式之C++实现---简单工厂模式