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

杭州网站建设方案百度seo报价方法

杭州网站建设方案,百度seo报价方法,全网网站,wordpress中文版开发文档1-单例模式定义 单例模式是一种创建型设计模式,它确保一个类在程序运行期间只有一个实例存在,并提供一个全局访问点。这个模式在需要全局控制资源(如配置管理、日志系统、线程池等)时非常有用。 1.1 单例模式的特殊点 1.私有构造…

1-单例模式定义

单例模式是一种创建型设计模式,它确保一个类在程序运行期间只有一个实例存在,并提供一个全局访问点。这个模式在需要全局控制资源(如配置管理、日志系统、线程池等)时非常有用。

 

1.1 单例模式的特殊点

1.私有构造函数:防止外部通过new关键字创建实例。

2.静态实例:通过静态成员变量或静态方法提供全局访问点。

3.防止拷贝构造和赋值操作:防止通过拷贝或赋值创建多个实例。

4.线程安全:在多线程环境下,确保单例的唯一性。

     2-实现

    我们这里实现有两种方式:1  懒汉式;2  饿汉式。

    2.1- 懒汉式单例(Lazy )

    优缺点分析:

    优点
    • 延迟初始化:实例在需要时才被创建,可以节省资源。
    缺点
    • 线程不安全:在多线程环境下,多个线程可能同时调用getInstance(),导致创建多个实例。
    • 性能问题:每次调用getInstance()都需要进行线程同步,影响性能

    代码实现:

    
    class Singleton {
    public:// 提供一个全局访问点static Singleton* getInstance() {// 双重检查锁定,提高性能,并且在加锁前先检查实例是否已经创建,避免不必要的锁开销。if (instance == nullptr) {lock_guard<mutex> lock(mtx);if (instance == nullptr) {instance = new Singleton();}}return instance;}// 防止拷贝构造和赋值操作Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;private:// 构造函数设为私有,防止外部创建实例Singleton() {cout << "Singleton instance created." << endl;}// 静态实例指针static Singleton* instance;// 互斥锁确保在多线程环境下只有一个线程能够创建实例。static smutex mtx;
    };// 初始化静态成员
    Singleton* Singleton::instance = nullptr;
    mutex Singleton::mtx;// 使用示例
    int main() {Singleton* s1 = Singleton::getInstance();Singleton* s2 = Singleton::getInstance();// 检查两个指针是否指向同一个实例if (s1 == s2) {cout << "s1 and s2 are the same instance." << endl;}else {cout << "s1 and s2 are different instances." << sendl;}return 0;
    }

    2. 饿汉式单例(Eager )

     

    优缺点分析

    优点
    • 线程安全:实例在程序启动时就被创建,避免了多线程环境下的竞争条件。
    • 简单易用:实现简单,不需要额外的同步机制。
    缺点
    • 资源浪费:如果实例在程序运行期间从未被使用,会浪费内存资源。
    • 启动时间增加:在实例创建过程中,如果初始化过程复杂,会增加程序的启动时间。

    代码实现: 

    class Singleton {
    public:// 提供一个全局访问点static Singleton& getInstance() {return instance;}// 防止拷贝构造和赋值操作Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;private:// 构造函数设为私有,防止外部创建实例Singleton() {cout << "Singleton instance created." << endl;}// 静态实例在程序启动时就会被创建,静态存储区保证线程安全static Singleton instance;
    };// 初始化静态成员
    Singleton Singleton::instance;// 使用示例
    int main() {Singleton& s1 = Singleton::getInstance();Singleton& s2 = Singleton::getInstance();// 检查两个引用是否指向同一个实例if (&s1 == &s2) {cout << "s1 and s2 are the same instance." << endl;}else {cout << "s1 and s2 are different instances." << endl;}return 0;
    }

    如果有错误还请评论区纠正 

     

     

     

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

    相关文章:

  1. 花钱做网站注意湖南seo优化公司
  2. 济南疫情太厉害了常州百度关键词优化
  3. 网站使用教程网页关键词排名优化
  4. uni做网站首页百度站长平台网页版
  5. 大连无网站的企业有哪些重庆百度推广关键词优化
  6. 东莞网站关键词优化公司云南seo
  7. vip解析网站怎么做的网站关键词如何优化上首页
  8. 沈阳住房城乡建设部网站杭州网站排名seo
  9. 帮一个公司做网站多少钱班级优化大师手机版下载(免费)
  10. 企业网站的作用和目的网站换友链平台
  11. 苏州新公司网站建设温州seo教程
  12. 网站开发 wecenter2022社会热点事件及看法
  13. 赣州建设企业网站分析网站
  14. 滴滴出行的网站是哪家公司做的网络营销策划内容
  15. 用excel做网站日志分析2024年3月份病毒会爆发吗
  16. 做h5的网站页面最近新闻头条最新消息
  17. 高校网站建设需求分析青岛seo网站管理
  18. 网站建设必须要在阿里云备案吗新乡seo优化
  19. 台州企业做网站近期新闻大事
  20. 太原网站建设方案服务网站上不去首页seo要怎么办
  21. 最新疫情防控政策百度关键词优化推广
  22. 宝安建网站怎么免费创建个人网站
  23. 17网站一起做网店登录seo公司推荐推广平台
  24. 手机网站seo做网络营销推广的公司
  25. 创业网站建设怎么样自学seo大概需要多久
  26. 备案的网站建设书是什么意思北京已感染上千万人
  27. 网上建设银行网站开封网络推广哪家好
  28. 做软件常用的网站温州seo优化公司
  29. 鹿城做网站成都seo优化推广
  30. 昆明网站关键字优化优化设计全部答案