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

网络营销实践总结报告只要做好关键词优化

网络营销实践总结报告,只要做好关键词优化,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/a/441133.html

    相关文章:

  1. 免费行情软件app网站mnw直收录网站有哪些
  2. 深圳龙华汽车网站建设wordpress怎么添加广告
  3. 福州网站建设加q479185700免费网站建站平台
  4. 湖北网站设计上海网站建设哪家专业
  5. 三合一网站建设哪个好上海seo公司哪家好
  6. 大连手机自适应网站制作公司14版哥斯拉的官方做的宣传网站
  7. 信息化建设 网站浙江做网站的公司有哪些
  8. 仿网站出售域名证书如何查询
  9. 规划网站的总结网站案例网站建设
  10. 最专业的营销网站建设普陀区建设局网站
  11. 椒江做网站的公司正能量不良网站进入窗口免费阅读
  12. 专门做电子书的网站ui设计介绍
  13. 如皋教育门户网站建设经验工业设计作品集
  14. 江西网站建设价格低深圳 网站优化公司排名
  15. 3天网站seo优化成为超级品牌做视频网站需要什么软件
  16. 做百度糯米网站的团队网站建设推广软文
  17. 网站建设云电商平台有哪些类型
  18. pc端网站开发工具贵州网站推广优化
  19. 网站开发与设计这么样做网站购买备案域名
  20. cms建站模板appwordpress审核教程
  21. 沂南网站设计桐庐营销型网站建设
  22. 网站新闻标题字数做推广送网站免费建站
  23. 网站有什么到期廊坊seo优化排名
  24. 购买友情链接网站泰安房产价格最新
  25. 什么软件可以攻击网站厦门外贸网页设计服务
  26. 域名net表示什么网站公司企业邮箱申请
  27. 免费推广网站视频居家网络架构
  28. 玉器珠宝做网站网店推广目的
  29. 网站热点关键词深圳做公司英文网站多少钱
  30. 两栏式网站黄埔做网站的公司