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

做图解的网站石家庄seo排名公司

做图解的网站,石家庄seo排名公司,网站建设 自学 电子版 pdf下载,哪个网站做电商门槛最低单例模式是什么?哪两种模式? 单例模式就是一个类型的对象,只有一个,比如说搜索引擎中的索引部分,360安全卫士的桌面悬浮球。 饿汉模式和懒汉模式:饿汉模式是线程安全的,懒汉模式不是线程安全的…

单例模式是什么?哪两种模式?

单例模式就是一个类型的对象,只有一个,比如说搜索引擎中的索引部分,360安全卫士的桌面悬浮球。

饿汉模式和懒汉模式:饿汉模式是线程安全的,懒汉模式不是线程安全的,但是我们可以为其加锁,实现成线程安全的。

饿汉单例模式的代码实现

单例模式的实现主要在于将构造函数私有化,并且将拷贝构造和赋值拷贝禁用。

饿汉,这个对象在main函数执行之前就创建对象。

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

饿汉单例模式的问题

如果系统中有多个饿汉的对象,可能会造成系统启动过慢的问题。

懒汉单例模式的代码实现

懒汉,就是在使用这个对象的时候再去创建这个对象。

1.

基本实现,不是线程安全的。

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

2.

为其加锁,线程安全的。

两层判断,避免锁的粒度太大,单线程环境下也会加锁。

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

3.

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

这种实现方法,我们主要探讨是不是线程安全的?我们将这段代码反汇编之后,可以发现,操作系统会在创建的时候为其加锁的,证明他是线程安全的~~

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

相关文章:

  • 跨境电商无货源模式怎么做seo网站优化推荐
  • 企业网站的建设广告联盟大全
  • 学做面包的网站手机网站建设公司
  • 做招聘网站如何宣传广州seo优化推广
  • 网站开发报价说明seo有什么作用
  • 网站空间 域名百度首页登录官网
  • 哪有专做注册小网站的北京推广服务
  • 玉溪做网站建设的公司外贸怎么找客户资源
  • 晋江做鞋子批发的网站优化大师兑换码
  • 为公司做网站要做什么准备西安疫情最新消息
  • 会展相关网站建设福州百度网站快速优化
  • 哪几个网站做acm题目站长网站提交
  • 西安学校网站建设国际新闻头条最新消息
  • 网站中医建设每日新闻快报
  • 手机网站建南京seo优化公司
  • 新手学做网站百度云百度数据开放平台
  • 国家企业信息年报系统seo优化包括哪些内容
  • 设计公司取名大全最新版的移动网站推广如何优化
  • 四川省建设工程质量安全监督总站网站广州seo网站
  • 静安网站建设91永久免费海外地域网名
  • 如何分析一个网站做的怎么样宁波seo公司网站推广
  • 新乡做网站多少钱百度竞价托管代运营
  • 绍兴 网站建设关键字挖掘
  • 智能建站系统官网企业网站的基本功能
  • 建设平面设计工作室网站方案企业网站seo诊断报告
  • 湛江企业网站建设公司免费网站或软件
  • 二手网站建设论文太原全网推广
  • php抗议小卫士填报代码网页制作网站网站推广软件免费版下载
  • 群晖 做网站服务器南京百度快速排名优化
  • 做推广任务的网站有哪些网络课程