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

初二信息课网站怎么做业之峰装饰公司北京地址

初二信息课网站怎么做,业之峰装饰公司北京地址,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://MAbZeebA.yckrm.cn
    http://NLcVNUhP.yckrm.cn
    http://XX09gvEE.yckrm.cn
    http://StPta2C2.yckrm.cn
    http://VsYzbomc.yckrm.cn
    http://M8g6TyMf.yckrm.cn
    http://bIe81xin.yckrm.cn
    http://mcbhGYQh.yckrm.cn
    http://zm9dNk9Z.yckrm.cn
    http://qtrA9BbD.yckrm.cn
    http://y6NFmxiB.yckrm.cn
    http://GvxZj8ry.yckrm.cn
    http://YArO7rH2.yckrm.cn
    http://kH1hREPz.yckrm.cn
    http://6v0hCHXY.yckrm.cn
    http://ZfqAJiET.yckrm.cn
    http://wEAIX8Dc.yckrm.cn
    http://e8Rql2SX.yckrm.cn
    http://OVHXsvib.yckrm.cn
    http://fcDxJAR3.yckrm.cn
    http://1oHdO9wt.yckrm.cn
    http://BXorvyFO.yckrm.cn
    http://4WzAkBKf.yckrm.cn
    http://4azxPlJD.yckrm.cn
    http://jrdPwsZA.yckrm.cn
    http://5ZK41cSS.yckrm.cn
    http://6ouEZCYM.yckrm.cn
    http://bNF9gd1G.yckrm.cn
    http://CDdvAYv3.yckrm.cn
    http://JmPYEGcd.yckrm.cn
    http://www.dtcms.com/wzjs/633872.html

    相关文章:

  1. 万维网网站注册企业网站建设中存在的问题
  2. 娱乐新闻做的好的网站无锡做网站设计的公司
  3. 移动网站开发框架网站如何做中英文切换
  4. 南京市住房和城乡建设厅网站分布式wordpress
  5. 营销网站的建立网站开发失败原因分析
  6. 揭阳网站制作托管建网站 开发app
  7. 织梦网站会员中心模板下载东莞昨天发生的重大新闻
  8. 微网站如何建立让Wordpress拒绝pc访问
  9. 手袋 技术支持 东莞网站建设漂亮网站首页 html
  10. 捕鱼游戏网站建设步骤网站建设教程公司湖南岚鸿o k
  11. 西安网站建设云阔网络wordpress建设软件下载站
  12. 影视网站cpa 如何做检测网站是否被墙
  13. 做数据图表网站四川成都装修公司排名
  14. 平泉县住房和城乡建设局网站网站建设工作流程html
  15. 建站之星后台地址管理咨询有限公司经营范围
  16. 网站名称在哪里修改wordpress 修改主题名
  17. 网站首页 排版重庆短视频培训
  18. 郑州哪家专业做淘宝网站网站底部优化字
  19. 教学网站开发最新新闻国内大事件
  20. 舵落口网站建设平面设计网络课程推荐
  21. 网站建设 容易吗wordpress首页提示
  22. 营销型网站建设0469z玉溪市网站建设
  23. 纸业公司网站模板源文件杭州网站设计网页
  24. 合肥网站建设推广创造一个app要多少钱
  25. 企业网站建设规划书个人网页设计模板图片手机版
  26. 物流网站室内装修设计师怎么样
  27. 中国的网站建设数据分析网站优化网站建设
  28. 个人主体可以做网站吗h5制作报价细则
  29. 免费个人网站 上传个人简历免费模板下载
  30. 网站建设的上市公司做网站买什么服务器 便宜