c++单态模式(不断完善中)
来源:互联网 发布:淘宝推广时间设置 编辑:程序博客网 时间:2024/05/18 05:32
考虑到:
1.析构、构造函数、拷贝构造函数、赋值操作的私有。
2.对象句柄的初始化和析构后的清0.
3.线程安全。
4.异常安全。
如果有网友发现还有改进的地方请指出。
#ifndef SINGLETON_H_#define SINGLETON_H_#include <pthread.h>class lock //资源管理类。{private:pthread_mutex_t* p_mutex;lock(const lock& lk){} //资源不可以复制。lock& operator=(const lock& lk){}public :lock(pthread_mutex_t* mutex):p_mutex(mutex){pthread_mutex_lock(p_mutex);}~lock(){pthread_mutex_unlock(p_mutex);}};class singleton{private:static singleton* m_single;static pthread_mutext_t m_mutex;singleton(){}~singleton(){if(m_single){lock mutex(m_mutex);if(m_single){delete m_single;m_single=0; //注意清0.}}}singleton(const singleton& sin){} //将拷贝构造和复制操作私有singleton& operator=(const singleton& sin){}public:static singleton* getSingleTon(){if(!m_single){lock mutex(m_mutex); //线程安全。if(!m_single)m_single=new s ingleton;}return m_single;}static void destroySingleTon(){~singleton();}};pthread_mutext_t singleton::m_mutex=PTHREAD_MUTEX_INITIALIZER;singleton* singleton:: m_single=0;#endif
- c++单态模式(不断完善中)
- C/C++ 标准以及各种编译器对标准的支持情况(不断完善中)
- iOS单例设计模式详细讲解(单例设计模式不断完善的过程)
- 2D Interface 学习(不断完善中)
- Android 中易混属性释疑(不断完善中)
- GPRS模块初始化流程(不断完善中)
- GPRS模块初始化流程(不断完善中)
- ELK平台性能优化(不断完善中)
- 数据处理-不断完善中......
- 单件模式(c++)
- 单例模式(C#)
- 单例模式(C#)
- 单例模式(C#)
- 单例模式(C++)
- 单例模式(C++)
- Objective C 中实现单例模式
- Objective-C中使用单例模式
- 大型系统中涉及的架构知识点(不断完善中)
- 十二种jQuery性能优化方法解析
- 【css与html】html页面中去缓存
- “结构体”和“类”有啥区别?
- hdoj_1503Advanced Fruits
- HTML应用经验
- c++单态模式(不断完善中)
- hdu 1996 汉诺塔VI
- 【php】常见http状态码列表
- rp_filter及Linux下多网卡接收多播的问题
- 三维软件转Unity的系统单位设置研究
- Android中XML数组资源
- ORA-00254/ORA-15173 Archive_log Directory On Asm Being Deleted
- 状态图
- C++基础知识 sizeof运算符应用的总结