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

求个没封的网站2022php mysql网站开发实例教程

求个没封的网站2022,php mysql网站开发实例教程,自学室内装修设计教程,婚纱摄影手机网站模板单例模式(Singleton Pattern)是一种常用的设计模式,它保证一个类只有一个实例,并提供一个全局访问点。基本实现懒汉式(线程不安全)class Singleton { private:static Singleton* instance;// 私有构造函数防止外部实例化Singleton…

单例模式(Singleton Pattern)是一种常用的设计模式,它保证一个类只有一个实例,并提供一个全局访问点。

基本实现

懒汉式(线程不安全)

class Singleton {
private:static Singleton* instance;// 私有构造函数防止外部实例化Singleton() {}public:// 删除拷贝构造函数和赋值运算符Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton* getInstance() {if (instance == nullptr) {instance = new Singleton();}return instance;}
};// 初始化静态成员
Singleton* Singleton::instance = nullptr;

饿汉式(线程安全)

class Singleton {
private:static Singleton instance;Singleton() {}public:Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton& getInstance() {return instance;}
};// 在程序开始前就初始化
Singleton Singleton::instance;

线程安全的懒汉式实现

使用双重检查锁定(C++11及以上)

#include <mutex>class Singleton {
private:static Singleton* instance;static std::mutex mtx;Singleton() {}public:Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton* getInstance() {if (instance == nullptr) {std::lock_guard<std::mutex> lock(mtx);if (instance == nullptr) {instance = new Singleton();}}return instance;}
};Singleton* Singleton::instance = nullptr;
std::mutex Singleton::mtx;

使用局部静态变量(C++11及以上,最简洁的线程安全实现)

class Singleton {
private:Singleton() {}public:Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton& getInstance() {static Singleton instance;return instance;}
};

单例模式的优缺点

优点:

  1. 确保一个类只有一个实例

  2. 提供全局访问点

  3. 避免频繁创建和销毁对象,节省系统资源

缺点:

  1. 违反单一职责原则(既管理实例又包含业务逻辑)

  2. 可能导致代码耦合度高

  3. 难以进行单元测试

  4. 在多线程环境下需要特殊处理

使用场景

  1. 需要频繁创建和销毁的对象

  2. 创建对象耗时或资源消耗大

  3. 工具类对象

  4. 访问数据库或文件的对象

在现代C++中,推荐使用局部静态变量的实现方式,它简洁且线程安全(C++11保证局部静态变量的初始化是线程安全的)。

http://www.dtcms.com/wzjs/590284.html

相关文章:

  • 建设网站对公司起什么作用是什么万润 营销型网站建设
  • 深深圳市建设局网站我帮你建站
  • 南阳手机网站推广wordpress 4.8 漏洞
  • 怎样设计一个公司网站平面设计专业学校排名
  • 如何运营一个网站网站功能定制合同
  • 手机企业网站程序上海注册公司流程和费用
  • 网站做icp备案有哪些好处三亚h5网站定制开发公司
  • 建立网站的基本流程柳州市住房和城乡建设局网站首页
  • 网站开发顺序免费网页空间
  • 网站建设首选-云端高科简单网页设计html代码
  • 网站开发维护专员岗位职责中国女排赛程时间最新消息
  • 网站的倒计时怎么做的网站开发框架有哪些
  • 网站申请服务器空间苏州调查公司电话
  • 南京一对一网站建设网站建设推进会
  • 电子商务网站建设的模式wordpress 怎样安装
  • 佛山品牌网站建设报价做新闻类网站需要什么资质
  • 旅游类网站模板免费下载镇江网站优化哪家好
  • 陕西住房城乡住房建设厅网站网站怎么提高百度权重
  • 互联网公司网站建设费用淮南建设公司网站
  • 威海建设局网站wordpress 4.2.8
  • 主机公园 wordpress系统优化软件哪个好
  • 中企建设网站百度推广客户端下载
  • 教育在线网站怎样做直播网站建设大熊猫点搜
  • 佛山手机网站建设公司wordpress301不能用
  • 网站备案证件做网站为什么能赚钱吗
  • 沈阳建站网站建设分金手指排名一
  • 哪家建站好沈阳市建设监理协会网站
  • 北京网站定制建设自贡网站制作
  • 一家做特卖的网站叫什么网站设计制作规范
  • 做网站客户要提供什么wordpress 恶意注册