设为首页 加入收藏

TOP

设计模式的C++实现 1.单例模式(二)
2015-07-20 17:29:55 来源: 作者: 【 】 浏览:10
Tags:设计模式 实现 单例 模式
= instance){ EnterCriticalSection(&cs); if(NULL == instance){//双检锁,在进入临界区后再检测一次是否对象已经建立 instance = new SingleTon(); } LeaveCriticalSection(&cs); } return instance; } static void delelteInstance(){ if(NULL != instance){ EnterCriticalSection(&cs); if(NULL != instance){ delete instance; instance = NULL; } LeaveCriticalSection(&cs); } } private: SingleTon(){ } SingleTon(const SingleTon&); SingleTon& operator=(const SingleTon&); static SingleTon* instance; ~SingleTon(){}//相应的关闭连接等操作 class GarBo{ public: ~GarBo(){ if(NULL != instance){ EnterCriticalSection(&cs); if(NULL != instance){ delete instance; instance = NULL; } LeaveCriticalSection(&cs); } } }; static GarBo gc ; }; SingleTon* SingleTon::instance ; SingleTon::GarBo SingleTon::gc;//类外的初始化。这样就获得一个比较完美的单例类了。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇设计模式的C++实现 3.抽象工厂 下一篇Codeforces 110B-Lucky String(..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)