C++系列
- 第一章 C++单例模式
- 第二章 数据流对象CData
- 第三章 基于基础数据类型的封解包模板
- 第四章 FIFO单链列表
- 第五章 C++线程
- 第六章 C++线程池
- 第七章 定时器
- 第八章 消息中心
- 第九章 网络访问器
- 第十章 HttpClient
- 第十一章 FTPClient
- 第十二章 Socket客户端
- 第十三章 Socket服务端
- 第十四章 WebSocket
大部分章节不会详细讲解,基本是以源码形式展现给大家,欢迎各路大侠搬砖和点评^_^,详细源码查看Github
前言
在程序编程中,经常需要某个类在程序的声明周期中只需要一个实例存在,可不同模块中共享某个函数接口、功能或数据,这种设计模式被称为单例模式。单例模式的书面定义如下:也叫单子模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例(即一个类只有一个对象实例)。
更新日期 | 更新内容 |
---|---|
2021.03.17 | 优化代码 |
CSingleton.hpp
#ifndef CSingleton_hpp
#define CSingleton_hpp
#include <stdio.h>
#include <pthread.h>
#include <memory>
#include "CDefType.hpp"
ZJ_NAMESPACE_BEGIN
class CSinGuard {
public:
CSinGuard() {
m_lGrdCnt = 0; pthread_mutex_init(&m_cs, nullptr); }
~CSinGuard() {
pthread_mutex_destroy(&m_cs); }
int IsGuarded() const {
</