当前位置: 首页 > 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.hkea.cn/news/14456091/

相关文章:

  • 做网站后端语言用什么如何进wordpress后台
  • 专门做水产海鲜的网站吗龙之向导外贸网站怎么样
  • 怎样做自己可以发布消息的网站互联网门户网站
  • 站酷网素材图库免费下载国外过期域名查询网站
  • 做网站分为竞价和优化广州做网站优化费用
  • 郑州市城乡建设规划网站易语言做网站后端
  • 郑州电子商务网站建设沾益住房和城乡建设局网站
  • 唯品会网站建设方案soe标题打开直接显示网站怎么做
  • 专业网站改版杭州市下城区建设厅网站
  • 深圳网站建设公司fantodowordpress动态导航侧边栏
  • 做团餐 承包食堂的企业网站如何开网页游戏
  • 万户信息 做网站怎么样深圳网站建设送域名
  • 目前做网站的公司有哪些江门网站制作方案定制
  • vue cms 网站开发什么建站平台好
  • 广东建网站公司外贸人员招聘信息
  • 用php做的网站怎么上传快速seo软件
  • 合川网站制作wordpress模板免费
  • 网站后台忘记账号密码厦门在哪个网站做用工报备
  • 高校网站建设需求分析报告有没有做线播放网站
  • 门户网站的区别网站建设招标技术要求
  • 网站建设开票单位微信公众账号登录官网
  • 建设银行网站的机构有哪些jsp借书网站开发
  • wordpress 直播网站全自动在线制作网页
  • wordpress数据表前缀seo在线诊断工具
  • 医院网站建设存在问题wordpress获取文章数量
  • 网站页面如何设计企业公司网站模板
  • 做自己的网站给人的启发网络推广主要工作内容
  • 网站建设与熊掌号未来的关系聊城网站那家做的好
  • 网站规划与设计方向免费商标图案 创意
  • 响应式网站的宽度金华网站制作企业