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

广州牌具做网站的公司做网站需要具备什么要求

广州牌具做网站的公司,做网站需要具备什么要求,山东省市场监督管理局,注册一个公司网站的费用单例模式在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/769758/

相关文章:

  • 如何在网站找做贸易的客户网站开发顶岗周记
  • 网站建设中敬请期待洛可可设计公司好进吗
  • 大兴网站建设费用wordpress主题 四亩田
  • 禹城网站制作全国最缺工100个职业排行榜
  • 网站开发 技术路线网站设置不安全
  • 揭阳网站建设策划方案免费做手机网站有哪些
  • asp网站源码免费下载台州优秀关键词优化
  • 永年网站建设松江营销型网站建设公司
  • 网站制作网站建设单位东莞seo建站优化工具
  • 理财网站模版杭州seook优屏网络
  • 深圳送花网站哪个好网络运维工作内容及过程
  • 浅谈企业网站建设的目标宁波网站建设相信荣胜网络
  • 中卫网站设计在哪里网络服务商能删除网站
  • 创建软件网站公司网页怎么修改
  • 1280的界面网站做多宽新网站快速收录
  • 横琴新区公共建设局网站了解深圳网站页面设计
  • 浙江建设网站是多少为什么说能进中交不进中建
  • 冠县品牌网站建设推广一个人建设小型网站
  • 网站建设z上海网站建设 推荐站霸网络
  • 汽车4s店网站建设方案百度问问
  • 做网站充值犯法吗谷歌seo怎么做
  • 模仿网站页面违法吗网页发布的步骤
  • 网站建设存在问题安徽省建设信息网
  • 网站建设相关费用预算推广自己建个购物网站
  • 免费下载app软件网站中国传统文化网页设计
  • 霸州 网络 网站建设动画设计学校
  • 贵阳网站上门备案业务电子商务网站建设主管的策划案
  • aws的永久免费服务网站优化怎么做效果才好
  • 杭州网站建设宣盟网络免费的个人简历ppt模板
  • 成都网站建设福州南昌建站价格