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

学校网站建设总结报告国家企业信息认证系统

学校网站建设总结报告,国家企业信息认证系统,wordpress加载速度太慢,网上怎么推销自己的产品1. 模式说明 单例模式保证类只有一个实例#xff1b;创建一个对象#xff0c;当你创建第二个对象的时候#xff0c;此时你获取到的是已经创建过的对象#xff0c;而不是一个新的对象#xff1b; 1.1 使用场景 共享资源的访问权限#xff1b;任务的管理类#xff1b;数…1. 模式说明 单例模式保证类只有一个实例创建一个对象当你创建第二个对象的时候此时你获取到的是已经创建过的对象而不是一个新的对象 1.1 使用场景 共享资源的访问权限任务的管理类数据库的操作等 1.2 要素 私有化类的构造函数使用类的私有静态指针变量指向类的唯一实例公有静态方法获取该实例 1.3 类型 懒汉模式饿汉模式 2. 懒汉模式 单例实例在第一次被使用时才进行初始化延迟初始化 2.1 基本 示例 /** brief : design patterns singleton* author : your name* compile : g -g singleton_main.cc -o d -stdc11* date : 2023/04/18* lastEditorDate: */#include iostream #include string//懒汉模式 class Singleton { public:static Singleton* getSingletonInstance() //访问函数{if(instance nullptr){instance new Singleton;}return instance;}public:void addCount() {m_count;}int32_t getCount() {return m_count;}private:static Singleton* instance; //静态指针变量Singleton(){} //私有化类的构造函数int32_t m_count{0}; };Singleton* Singleton::instance nullptr; //静态成员类外初始化int main(int argc, char* argv[]) {Singleton* single_0 Singleton::getSingletonInstance();single_0-addCount();std::coutsingle_0 value is: single_0-getCount()std::endlstd::endl;Singleton* single_1 Singleton::getSingletonInstance();single_1-addCount();std::coutsingle_0 value is: single_0-getCount()std::endl;std::coutsingle_1 value is: single_1-getCount()std::endlstd::endl; return 0; }输出 single_0 value is: 1single_0 value is: 2 single_1 value is: 22.2 线程安全 2.1中的示例是线程不安全的假如有多个线程同时调用getSingletonInstance()此时检测到instance是nullptr就会导致单例的崩溃造成内存泄漏 通过加锁来实现 示例 /** brief : design patterns singleton* author : your name* compile : g -g singleton_main.cc -o d -stdc11* date : 2023/04/18* lastEditorDate: */#include iostream #include string #include mutex//懒汉模式 std::mutex mtx; //全局的锁 class Singleton { public:static Singleton* getSingletonInstance() //访问函数{if(instance nullptr){std::lock_guardstd::mutex guard(mtx); if(instance nullptr){instance new Singleton;} }return instance;}public:void addCount() {m_count;}int32_t getCount() {return m_count;}private: static Singleton* instance; //静态指针变量Singleton(){} //私有化类的构造函数int32_t m_count{0}; }; Singleton* Singleton::instance nullptr; //静态成员类外初始化int main(int argc, char* argv[]) {Singleton* single_0 Singleton::getSingletonInstance();single_0-addCount();std::coutsingle_0 value is: single_0-getCount()std::endlstd::endl;Singleton* single_1 Singleton::getSingletonInstance();single_1-addCount();std::coutsingle_0 value is: single_0-getCount()std::endl;std::coutsingle_1 value is: single_1-getCount()std::endlstd::endl; return 0; }输出 single_0 value is: 1single_0 value is: 2 single_1 value is: 2使用 c11 中局部静态变量是线程安全的性质 示例 /** brief : design patterns singleton* author : your name* compile : g -g singleton_main.cc -o d -stdc11* date : 2023/04/18* lastEditorDate: */#include iostream #include string #include mutex//懒汉模式 class Singleton { public:static Singleton* getSingletonInstance() //访问函数{static Singleton instance; //静态指针变量return instance;}public:void addCount() {m_count;}int32_t getCount() {return m_count;}private: Singleton(){} //私有化类的构造函数int32_t m_count{0}; };int main(int argc, char* argv[]) {Singleton* single_0 Singleton::getSingletonInstance();single_0-addCount();std::coutsingle_0 value is: single_0-getCount()std::endlstd::endl;Singleton* single_1 Singleton::getSingletonInstance();single_1-addCount();std::coutsingle_0 value is: single_0-getCount()std::endl;std::coutsingle_1 value is: single_1-getCount()std::endlstd::endl; return 0; }输出 single_0 value is: 1single_0 value is: 2 single_1 value is: 23. 饿汉模式 指单例实例在程序运行时被立即执行初始化 示例 /** brief : design patterns singleton* author : your name* compile : g -g singleton_main.cc -o d -stdc11* date : 2023/04/18* lastEditorDate: */#include iostream #include string #include mutex//饿汉模式 class Singleton { public:static Singleton* getSingletonInstance() //访问函数{ return instance;}public:void addCount() {m_count;}int32_t getCount() {return m_count;}private:static Singleton* instance; //静态指针变量Singleton(){} //私有化类的构造函数int32_t m_count{0}; };Singleton* Singleton::instance new Singleton; //静态成员类外初始化int main(int argc, char* argv[]) {Singleton* single_0 Singleton::getSingletonInstance();single_0-addCount();std::coutsingle_0 value is: single_0-getCount()std::endlstd::endl;Singleton* single_1 Singleton::getSingletonInstance();single_1-addCount();std::coutsingle_0 value is: single_0-getCount()std::endl;std::coutsingle_1 value is: single_1-getCount()std::endlstd::endl; return 0; }输出 single_0 value is: 1single_0 value is: 2 single_1 value is: 24. 在开发过程中的使用 在项目的使用过程中可以将单例设计成为类模板这样其它类在设计的时候不用考虑是否需要将其设计成为单例 其它类如果需要单例属性只需要通过单例模板对其进行赋能即可 示例 /** brief : design patterns singleton* author : your name* compile : g -g singleton_main.cc -o d -stdc11* date : 2023/04/18* lastEditorDate: */#include iostream #include string #include mutextemplateclass T class Singleton { public:static T* getSingletonInstance() //访问函数{static T instance; //静态指针变量return instance;} private: Singleton(){} //私有化类的构造函数 };class C1 { public:void addCount() {m_count;}int32_t getCount() {return m_count;} private: int32_t m_count{0}; };int main(int argc, char* argv[]) {auto re1 SingletonC1::getSingletonInstance();re1-addCount();std::coutre1-getCount() value is: re1-getCount()std::endl;auto re2 SingletonC1::getSingletonInstance();re2-addCount();std::coutre1-getCount() value is: re1-getCount()std::endl;std::coutre2-getCount() value is: re2-getCount()std::endl;return 0; }输出 re1-getCount() value is: 1 re1-getCount() value is: 2 re2-getCount() value is: 2
http://www.tj-hxxt.cn/news/232311.html

相关文章:

  • 自动发卡网站怎么做app开发者需要更新
  • 网站设计动画广告推广免费发布
  • 建设银行积分商城网站做微信推送的网站
  • 做网站服务器硬盘多大网站开发的调研内容
  • 自己的网站服务器建设一个电商网站的流程
  • 曲沃网站建设可以大量免费发帖的网站
  • 订做网站建设中山企业网
  • uniapp微信小程序模板黑帽seo优化软件
  • 凡科建站免费家教
  • 郑州网站建设方案服务湖南省新闻最新消息十条
  • 官方网站撰写策划书农业推广
  • 江苏宏远建设集团网站wordpress用户个人页面
  • 网站应该如何推广wordpress 多主题插件下载
  • 青岛网站建设招标@安徽网站建设
  • wordpress建图片网站关于网站推广
  • 网站备案登记表南京seo招聘
  • 未做301重定向的网站电子商务网站建设作业总结
  • 小型企业门户网站制作成都到西安机票
  • 百度推广送的公司网站有什么用php网站后台进不去
  • 网站隐私声明模板学php搞网站开发
  • php直播网站开发通城做网站公司
  • 网站备案帐号是什么意思江西建设厅网站查询施工员
  • 在线制作电子印章软件襄阳百度seo
  • 网站加密软件技术毕业设计题目
  • 廊坊百度提升优化江门seo外包公司
  • 湖北城乡和建设官方网站松江网站开发培训学校
  • 做视频的免费素材网站众创空间文化建设网站
  • 自动跳转到wap网站品质好
  • 网站app怎么做深圳关键词优化
  • 网站如何做vip等级网站建设专家收费标准