当前位置: 首页 > news >正文

学习如何用 C++ 写一个线程安全的单例模式

参考书籍:《C++ 设计模式》李阳阳

#pragma once
#inlcude <iostream>
using namespace std;
#include <mutex>struct lugard_sync {explicit lugard_sync(std::mutex &_mutex) : m_mutex(_mutex) {m_mutex.lock();}~lugard_sync() { m_mutex.unlock(); }private:std::mutex &m_mutex;
}class Monitor {
private: // 注意点 1:单例类的构造函数是私有的,这样能够保证//           外部类无法调用该构造函数来生成多个实例Monitor() {}// 注意点 2:为避免类在外部实例化,该类自身必须定义//           一个静态私有实例static Monitor *instance;public:// 注意点 3:向外提供一个静态的公有函数,用于创建或//           获取该静态私有实例static Monitor* get_instance() {std::mutex mt;lugard_sync(mt);if (instance == nullptr) {instance = new Monitor();}return instance;}
http://www.dtcms.com/a/525240.html

相关文章:

  • 使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 21--PO(POM) 设计模式代码实现和全局浏览器驱动设置
  • 旋转花键如何实现微米级定位误差控制?
  • 提供手机自适应网站公司用易语言做钓鱼网站
  • 网站后台是怎么更新跨境电商平台有哪些特点
  • UVa 12991 Game Rooms
  • 2012年下半年试题一:论基于架构的软件设计方法及应用
  • 7. Python 列表:从概念本质到实战应用
  • Windows 安装 postGreSQL 数据库
  • 双堆法求数据流的中位数
  • 平面设计师灵感网站开发三味
  • 使用Requests和正则表达式实现起点中文网小说爬取
  • 擅自使用他人产品做网站宣传网站后台编辑器上传不了图片
  • argocd发布实现预检和后检能力
  • 受欢迎的免费网站建设游戏开发和网站开发哪个好玩
  • 网站建设 软件开发的公司办公网站模板
  • 内蒙古知名网站建设wordpress 摄影博客
  • 掌握 Gemini CLI:自定义命令 (Slash Commands)
  • 平面设计师常用网站铁岭网站建设公司
  • 个人网站做推广wordpress增加论坛
  • oracle存储过程详解
  • 多线程六脉神剑第三剑:信号量 (Semaphore)
  • 网站外链怎么购买网站建设方案计划书
  • 在C#中详细介绍一下Visual Studio中如何使用数据可视化工具
  • TDengine 数据函数 ROUND 用户手册
  • 网上做网站怎么做下拉菜单广告设计软件下载
  • LeetCode 406 - 根据身高重建队列
  • ELK运维之路(异常日志告警)
  • 从零开始的C++学习生活 14:map/set的使用和封装
  • 只做同城交易的网站wordpress自定义文章类型分类模板
  • 做外贸要看哪些网站阿里云做网站怎么样