博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单例模式
阅读量:6360 次
发布时间:2019-06-23

本文共 985 字,大约阅读时间需要 3 分钟。

hot3.png

实现了一个多线程安全的单例模式:

以下的单例模式,如果想要成为一个基础的基类,可以将private设为protect,将instance类型写成模版形式,那么想要实现新的单例,直接继承此单例模式就好了。

Singleton* Singleton::instance = NULL;pthread_mutex_t Singleton::mutex = PTHREAD_MUTEX_INITIALIZER;Singleton* Singleton::GetInstance() {    if(NULL == instance) {        pthread_mutex_lock(&mutex);        instance = new Singleton();        pthread_mutex_unlock(&mutex);    }    return instance;}class Singleton {    public:        static Singleton* GetInstance();        void PrintTest() {           printf("hello world\n");       }    private:         Singleton(){};            private:        class CGarbo {            public:                ~CGarbo() {                    if(NULL != Singleton::instance)                        delete Singleton::instance;                    pthread_mutex_destroy(&mutex);                }        };        static CGarbo Garbo;        static Singleton* instance ;        static pthread_mutex_t mutex;};

转载于:https://my.oschina.net/hejiula/blog/98812

你可能感兴趣的文章
怎么做应力应变曲线_做了这么多年材料,这些力学性能测试你做对了吗?
查看>>
pvrect r语言 聚类_技术贴 | R语言——肠型分析:介绍、方法
查看>>
正面管教之PHP_主题体验活动之亲密关系
查看>>
iservice封装有哪些方法_Java基础之类与对象、封装、构造方法·6(重点)
查看>>
redis技术分享ppt_一线互联网架构师技术分享:基于redis的分布式锁实现
查看>>
rap2检测哪些接口在使用_使用四合一气体检测仪应注意哪些方面?-逸云天
查看>>
android垂直排列元素_元素的视图属性之client
查看>>
模型算法_详解SVM模型之SMO算法
查看>>
动态文本_(302期)【动态】|| 立足相同文本,描绘不同风景 ——工作室开展“同课异构”活动...
查看>>
2fsk调制解调原理框图_数字调制解调输出什么 数字调制解调输出特点介绍【图文】...
查看>>
查看mysql某人执行了什么语句_一条 SQL 语句是如何在 MySQL 中执行的
查看>>
r 选取从小到大的数据_r 选取数据库
查看>>
geant4构造粒子_Geant4 基础5——Geant4粒子源
查看>>
python 论文插图_插图论文
查看>>
es6 混合commjs_前端模块化——CommonJS、ES6规范
查看>>
6379端口恶意扫描_DNS重绑定的利用:端口扫描与绕过同源策略
查看>>
mysql reset_mysql的reset命令
查看>>
mysql选择utf 8编码_MySQL支持UTF-8编码全攻略
查看>>
阿里云服务器web项目启动连接mysql_在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)...
查看>>
mysql 非英文_非英文网站如何使用MySQL的字符集
查看>>