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

甘肃手机网站建设织梦网站多少钱

甘肃手机网站建设,织梦网站多少钱,上海百度分公司电话,安卓小项目源码免费网站单例模式的学习笔记 单例模式是为了&#xff1a;在整个系统生命周期内&#xff0c;保证一个类只能产生一个实例&#xff0c;确保该类的唯一性 参见链接1&#xff0c;链接2 #include <iostream> #include <mutex>using namespace std;/*懒汉模式&#xff1a;只有在…

单例模式的学习笔记
单例模式是为了:在整个系统生命周期内,保证一个类只能产生一个实例,确保该类的唯一性
参见链接1,链接2

#include <iostream>
#include <mutex>using namespace std;/*懒汉模式:只有在用到了才实例化对象并返回(调用了对外的接口才会实例对象)*/
/*构造函数私有化,只对外提供一个接口*//*线程不安全*/
class singleClass {
public:static singleClass* getInstance() // 对外接口,静态成员函数调用静态成员变量{if (m_instance == nullptr)  // 在多线程的环境下,在判空的时候可能存在多个线程同时进入if中,此时可能会实例化多个对象{m_instance = new singleClass();}return m_instance;}private:static singleClass* m_instance;  // 静态成员变量,类内声明,类外初始化singleClass() {}    // 构造函数属性设置为私有singleClass (const singleClass & sc) {}  // 拷贝构造函数也设置为私有
};singleClass* singleClass::m_instance = nullptr;   // 初始化静态变量/*线程安全*/
class threadSingleClass
{
public:static threadSingleClass* getInstance(){if (m_instance == nullptr)   // 先判断是否为空,为空就进入;不为空,说明已经存在实例,返回{//m_mutex.lock();   // 这里如果使用unique_lock就不需要在下面解锁unique_lock<mutex> lock(m_mutex);if (m_instance == nullptr)   // 再次判断,确保不会因为加锁期间多个线程同时进入{m_instance = new threadSingleClass();}//m_mutex.unlock();}return m_instance;}private:static threadSingleClass* m_instance;static mutex m_mutex;threadSingleClass() {};threadSingleClass(const threadSingleClass& sc) {}
};threadSingleClass* threadSingleClass::m_instance = nullptr;
mutex threadSingleClass::m_mutex;/*饿汉模式:不管调不调用对外接口,都已经实例化对象了。本身就是线程安全的*/
/*类在加载的时候就实力化对象,所以要提前占用系统资源*/
class hungrySingleClass
{
public:static hungrySingleClass* getInstance(){return m_instance;}private:static hungrySingleClass* m_instance;hungrySingleClass() {}hungrySingleClass(const hungrySingleClass* sc) {}  // 拷贝构造私有
};hungrySingleClass* hungrySingleClass::m_instance = new hungrySingleClass();
// 类外定义,main开始执行前,该对象就存在了int main()
{singleClass* singlep1 = singleClass::getInstance();singleClass* singlep2 = singleClass::getInstance();cout << singlep1 << endl;cout << singlep2 << endl;threadSingleClass* thsinglep1 = threadSingleClass::getInstance();threadSingleClass* thsinglep2 = threadSingleClass::getInstance();cout << thsinglep1 << endl;cout << thsinglep2 << endl;hungrySingleClass* hgsinglep1 = hungrySingleClass::getInstance();hungrySingleClass* hgsinglep2 = hungrySingleClass::getInstance();cout << hgsinglep1 << endl;cout << hgsinglep2 << endl;system("pause");return 0;
}
http://www.cairui.net.cn/news/283/

相关文章:

  • 航达建设网站打网站显示域名解析错误
  • 做网站沈阳网站运营内容包含哪些
  • 厚街建设网站民宿网站建设 世家
  • niche网站建设网站建设7个主要流程图
  • 外贸网站支付接口时尚杂志网站设计分析
  • 网站域名实名制南昌网站设计
  • 有没有专门做航拍婚礼网站无线网站建设
  • 12306网站建设花了多少钱做一个小说网站需要多少钱
  • 网站建设课程感想vs做网站
  • 怎么在手机上做企业网站广州建站商城
  • 阿里云做电影网站网站建设的重要性
  • 简述jsp网站架构软件界面设计方案
  • 网站不被搜索引擎收录吗东坑镇做网站
  • 琼海做网站公司某品牌休闲零食网站建设规划书
  • 上海建立网站公司aoc24g2色域
  • 深互动平台网站饮食中心网站建设方案
  • 网站模板 php淘宝导购网站建设
  • dede仿网站目录建筑新型模板
  • 住房和城乡建设厅网站首页提供营销型网站价格
  • 网站备案在哪个网站站群管理系统
  • 网站建设规划文档想建立一个网站怎么做
  • 化隆网站建设公司建筑人才网官网档案查询
  • 杭州做网站找力果烟台网站建设方案推广
  • 天津网站制作网页免费的行情软件网站下载免费
  • 揭阳公司做网站吉林省住房和城乡建设部网站
  • 管理咨询网站专做投放广告网站
  • 远憬建站营销方式有哪几种
  • 网站中英文转换怎么做网络服务协议合同
  • 企业建站程序哪个好wordpress 上传文件
  • 汕头市住房和城乡建设局网站嘉兴企业自助建站