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

怎么维护好网站长沙网站推广公司

怎么维护好网站,长沙网站推广公司,国际交流网站建设方案,德州谁会做网站文章目录 一.单例模式二.单例模式的两种实现方式饿汉模式懒汉模式 一.单例模式 一个类只能创建一个对象,这样的类的设计模式就称为单例模式,该模式保证系统中该类只能有一个实例(并且父子进程共享),一个很典型的单例类就是CSTL的内存池C单例模式的基本设计思路: 私有化构造函数…

在这里插入图片描述

文章目录

  • 一.单例模式
  • 二.单例模式的两种实现方式
    • 饿汉模式
    • 懒汉模式

一.单例模式

  • 一个类只能创建一个对象,这样的类的设计模式就称为单例模式,该模式保证系统中该类只能有一个实例(并且父子进程共享),一个很典型的单例类就是C++STL的内存池
  • C++单例模式的基本设计思路:
    • 私有化构造函数,删除默认的拷贝构造函数赋值运算符重载防止对象被直接创建和拷贝
    • 单例对象的内存资源可以交给操作系统来释放,也可以自定义析构函数来完成特殊操作

二.单例模式的两种实现方式

饿汉模式

  • 饿汉单例类在程序进入主函数之前就创建出唯一的实例
//饿汉单例模式
class HungerSingleton
{
public://定义一个可以访问单例对象的静态接口static HungerSingleton* Getinstance(){return &singleObj;}
private://构造函数私有化,防止对象被直接创建HungerSingleton() { cout << "单例对象创建" << endl; }//删除拷贝接口,防止对象被拷贝HungerSingleton(const HungerSingleton& single) = delete;HungerSingleton& operator=(const HungerSingleton& single) = delete;private://定义静态区的HungerSingleton成员static HungerSingleton singleObj;//也可以定义成指针,初始化时在堆上创建//static HungerSingleton* singleObj;
};
//初始化类的静态成员
HungerSingleton HungerSingleton::singleObj;
//初始化时在堆上创建
//HungerSingleton * HungerSingleton::singleObj = new HungerSingleton;
  • HungerSingleton静态成员变量自身类型的对象(或指针),类的静态成员变量在进入主函数之前就完成初始化,由于构造函数被私有化,因此在程序运行过程中无法再创建该类的对象
  • 饿汉单例模式的优势:
    • 由于子进程只能在主函数中被创建,因此饿汉单例类不存在线程安全问题,无需与其他线程的类竞争系统资源,在多线程高并发环境下能够较为高效地执行任务
  • 饿汉单例模式的劣势:
    • 如果一个程序中有多种饿汉单例类,我们无法控制它们的初始化顺序
    • 饿汉单例类会拖慢程序的启动速度,而且即便用不到该类也会创建一个实例,可能造成内存浪费

懒汉模式

  • 懒汉单例类在程序进入主函数之后由后续代码决定是否创建实例
//懒汉单例模式
class LazySingleton
{
public://定义一个可以访问单例对象的静态接口static LazySingleton* Getinstance(){//若singleObj为空指针则创建单例对象if (singleObj == nullptr){singleObj = new LazySingleton;}return singleObj;}
private://构造函数私有化,防止对象被创建LazySingleton() { cout << "单例对象创建" << endl; }//删除拷贝接口,防止对象被拷贝LazySingleton(const LazySingleton& single) = delete;LazySingleton& operator=(const LazySingleton& single) = delete;private://定义成静态成员指针,初始化时在堆上创建static LazySingleton* singleObj;
};
//初始化时设置成空指针
LazySingleton * LazySingleton::singleObj = nullptr;
  • LazySingleton类在第一次调用Getinstance()成员接口时才会创建实例
  • 懒汉单例模式的优势:
    • 可以控制多种懒汉单例类对象的初始化顺序,并且需要用到的时候才创建,避免了内存浪费
  • 懒汉单例模式的劣势:
    • 在多线程环境中存在线程安全问题,需要加锁
      在这里插入图片描述
http://www.yayakq.cn/news/489387/

相关文章:

  • 国内外贸网站建设跨境电商平台哪家最好
  • 用wordpress建公司网站步骤网站存储空间大小
  • 简繁英3合1企业网站生成管理系统游戏打金工作室加盟
  • 新余哪有做网站的公司海口专注海南网站建设
  • 佛山市企业网站seo联系方式免费入驻的跨境电商平台
  • 想做一个自己设计公司的网站怎么做室内设计效果图片
  • 提升自己网站查备案怎么查询
  • 网站店招用什么软件做的wordpress网银插件下载
  • 网站深圳优化建设去哪个网站做吃播
  • 盘锦威旺做网站建设公司wordpress头像修改
  • 免费网站建设模板下载七七网站建设
  • 给网站开发APP网站自助建设推广
  • 番禺网站建设培训怎么做消费信贷网站
  • wx5 做网站可以么壁纸公司网站源码
  • 做爰全过程免费网站查网站开通时间
  • 18末年年禁止观看网站西安高新区网站制作
  • 做网站 图片格式简书 wordpress
  • 传媒公司php网站源码郴州市地图全图
  • 哪里可以接做ppt的网站五八同城58同城找工作
  • 天津网站建设兼职免费不良网站代码是多少
  • 网站需要流量黄石港区建设局网站
  • 官方网站查询叉车证公司网站运营方案策划
  • 西安建站软件备案需要网站建设方案书
  • wordpress 笑话源码湖南广告优化
  • 网站推广建设阶段泰州品牌网站建设
  • 怎么把自己做的网站放在rewrite.php wordpress 缓存 固定连接
  • 购物网站 备案wordpress文章内链
  • 申请域名之后如何做网站品牌网站制作方案
  • 洛阳网站设计网站建设的7种流程
  • 农业科技公司网站模板.net开发微信网站