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

浙江省网站建设wordpress+adsense主题

浙江省网站建设,wordpress+adsense主题,企业网站一般内容包括哪些,WordPress网站论文单例模式在C中的实现方式有以下几种: 懒汉式(线程不安全)饿汉式(线程安全)双检锁/双重校验锁(DCL,线程安全)静态局部变量(线程安全)C11版本(线程…

单例模式在C++中的实现方式有以下几种:

  1. 懒汉式(线程不安全)
  2. 饿汉式(线程安全)
  3. 双检锁/双重校验锁(DCL,线程安全)
  4. 静态局部变量(线程安全)
  5. C++11版本(线程安全)

下面分别给出这五种实现方式的代码示例和解释。

懒汉式(线程不安全)

class Singleton {
public:static Singleton* getInstance() {if (instance == nullptr) {instance = new Singleton();}return instance;}private:Singleton() {}static Singleton* instance;
};Singleton* Singleton::instance = nullptr;

解释:这种方式是在第一次调用getInstance()方法时才创建实例,但是这种方式在多线程环境下是不安全的,可能会出现多个实例。

饿汉式(线程安全)

class Singleton {
public:static Singleton* getInstance() {return instance;}private:Singleton() {}static Singleton* instance;
};Singleton* Singleton::instance = new Singleton();

双检锁/双重校验锁(DCL,线程安全)

#include <mutex>class Singleton {
public:static Singleton* getInstance() {if (instance == nullptr) {std::unique_lock<std::mutex> lock(mutex);if (instance == nullptr) {instance = new Singleton();}}return instance;}private:Singleton() {}static Singleton* instance;static std::mutex mutex;
};Singleton* Singleton::instance = nullptr;
std::mutex Singleton::mutex;

解释:这种方式是在第一次检查实例是否为空时加锁,再次检查实例是否为空时不加锁,这样可以减少锁的开销,提高性能。

静态局部变量(线程安全)

class Singleton {
public:static Singleton& getInstance() {static Singleton instance;return instance;}private:Singleton() {}
};

解释:这种方式利用了C++11的特性,将实例定义为静态局部变量,这样在程序结束时会自动销毁实例,避免了资源泄露。同时,这种方式也是线程安全的。

C++11版本(线程安全)

#include <mutex>class Singleton {
public:static Singleton& getInstance() {std::call_once(initInstanceFlag, &Singleton::initInstance);return *instance;}private:Singleton() {}static void initInstance() {instance = new Singleton();}static Singleton* instance;static std::once_flag initInstanceFlag;
};Singleton* Singleton::instance = nullptr;
std::once_flag Singleton::initInstanceFlag;

解释:这种方式利用了C++11的std::call_once和std::once_flag来实现线程安全的单例模式,确保只初始化一次实例。

http://www.yayakq.cn/news/118657/

相关文章:

  • 北京网站制作工作室织梦后台点击网站主页
  • 如何评估一个网站建设一个网站需要什么人员
  • 网站关键词优化wang智能科技网站模板
  • 钓鱼平台怎么制作宁波seo推广哪家快
  • mini主机做网站服务器网页界面设计分辨率是多少dpi
  • 网站制作前景怎么样thinkphp5做网站
  • 有哪些做家教网站桂林人论坛桂林板路
  • 成都小学网站建设长春网站制作报价
  • 网站建设投标书网页代码怎么调出来
  • app扁平化设计网站深圳云购网站制作
  • 企业网站建设研究目的意义网站制
  • 缠绕机东莞网站建设技术支持淘宝客网站里面catid=16
  • 网页制作模板的网站代码贵阳哪些公司建网站
  • 江阴做网站的企业医药网站建设价格
  • 网站建设需要哪些搜索引擎优化的缺点包括
  • 在什么网站上可以做中学数学家教企业怎么创建微信公众号
  • 网站查询服务器ipwordpress的分类
  • 北京seo网站内部优化新房装修设计
  • 免费建站体验个人网站有什么内容
  • 建设银行网银盾不能打开网站杭州百度推广优化排名
  • 贵阳网站设计企业电商网站建设 解决方案的设计
  • 湛江市seo网站设计哪里好怎么创建网站充值和提现账号
  • 知名的网站制作公司需要多少钱微信运营技巧
  • 大兴黄村网站建设海外pvn加速器
  • 网站建设生存期模型wordpress前景
  • seo 网站案例平台建设上线网站
  • 湛江cms建站系统舟山公司网站制作
  • asp.net网站建设项目实战资料html5 网站开发定制
  • 网站开发结束语射阳做网站的公司
  • 哪个网站可以做全景图六盘水做网站