频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
【单例模式】简单C++实现
2017-04-17 09:48:56         来源:yeahfeng  
收藏   我要投稿

单例模式:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。

一、“懒汉”实现:第一次用到类实例才会去实例化,适用于访问量小。以时间换空间

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(p == NULL){

pthread_mutex_lock(&mutex);

if(p == 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;

}

 

点击复制链接 与好友分享!回本站首页
上一篇:PCI总线在VxWorks中的实现
下一篇:让两个布局都在同一个控件的上方
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站