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

网站建设与网页制作实训报告wordpress 新浪微博插件

网站建设与网页制作实训报告,wordpress 新浪微博插件,优秀seo外包平台,商城网站前期seo应该怎么做系列文章目录 单例设计模式共享数据问题分析、解决; 文章目录系列文章目录前言一、单例模式1.1 基本概念1.2 单例设计模式共享数据问题分析、解决1.3 std::call_once()介绍二、代码案例1.代码示例总结前言 关键内容#xff1a;c11、多线程、共享数据、单例类 本章内容参考git…系列文章目录 单例设计模式共享数据问题分析、解决; 文章目录系列文章目录前言一、单例模式1.1 基本概念1.2 单例设计模式共享数据问题分析、解决1.3 std::call_once()介绍二、代码案例1.代码示例总结前言 关键内容c11、多线程、共享数据、单例类 本章内容参考github大佬文章 学习参考链接源码 https://github.com/xiaopang59/multithreading 一、单例模式 1.1 基本概念 使用频率较高单例整个项目中由某个或者某些特殊的类属于该类的对象我只能创建1个多了我创建不了 1.2 单例设计模式共享数据问题分析、解决 面临的问题 需要在我们自己创建的线程而不是主线程中创建MyCAS这个单例类的对象这种线程可能不止一个最少2个。 解决 我们可能会面临GetInstance()这种成员函数需要互斥 虽然这两个线程是同一个入口函数但大家千万要记住这是两个线程所以这里会有两个流程两条通路同时执行 GetInstance()函数功能是创建MyCAS类对象通过new的方式分配动态内存可参考下面代码。 1.3 std::call_once()介绍 std::call_once()C11引入的函数该函数的第二个参数 是一个函数名a() call_once功能是能够保证函数a()只被调用一次。call_once具备互斥量这种能力而且效率上比互斥量消耗的资源更少call_once()需要与一个标记结合使用这个标记std::once_flag其实once_flag是一个结构call_once()就是通过这个标记来决定对应的函数a()是否执行调用call_once()成功后call_once()就把这个标记设置为一种已调用状态后续再次调用call_once()主要once_flag设置了已调用状态那么对性的函数a()就不会再被执行了 二、代码案例 1.代码示例 #include SDKDDKVer.h #include stdio.h #include tchar.h#include iostream #include vector #include map #include string #include thread #include list #include mutexusing namespace std;//class A //{ //public: //};std::mutex resource_mutex; std::once_flag g_flag; //这是个系统定义的标记class MyCAS //这是一个单例类 {static void CreateInstance()//只被调用1次{std::chrono::milliseconds dura(2000);//休息20sstd::this_thread::sleep_for(dura);cout CreateInstance()被执行了 endl;m_instance new MyCAS();static CGarhuishou c1;}private:MyCAS() {}//私有化了构造函数private:static MyCAS *m_instance;//静态成员变量public:static MyCAS *GetInstance(){//提高效率。//a如果 if (m_instance ! NULL) 条件成立则肯定表示m_instance已经被new过了//b如果 if (m_instance ! NULL)不代表m_instance一定没被new过//if (m_instance NULL)//双重锁定双重检查//{// std::unique_lockstd::mutex mymutex(resourec_mutex);//自动加锁 // if (m_instance NULL)// {// m_instance new MyCAS();// static CGarhuishou cl;// }//}std::call_once(g_flag, CreateInstance);//两个线程同时执行到这里其中一个线程要等另外一个线程执行完毕CreateInstance()。return m_instance;}class CGarhuishou//类中套类用来释放对象{public:~CGarhuishou()//类的析构函数中{if (MyCAS::m_instance){delete MyCAS::m_instance;MyCAS::m_instance NULL;}}};void func(){cout 测试 endl;} };//类静态变量初始化 MyCAS *MyCAS::m_instance NULL;//线程入口函数 void mythread() {cout 我的线程开始执行了 endl;MyCAS *p_a MyCAS::GetInstance();//这里可能就 有问题了p_a-func();cout 我的线程执行完毕了 endl;return; }int main() {//一设计模式大概谈//“设计模式”代码的一些写法这些写法跟常规写法不怎么一样程序灵活维护起来可能方便但是别人接管、阅读代码都会很痛苦//用“设计模式”理念写出来的代码很晦涩的《head first》//老外 应付特别大的项目的时候 把项目的开发经验、模块划分经验总结整理成 设计模式先有开发需求后有理论总结和整理//设计模式拿到中国来不太一样拿着一个程序项目往设计模式上套一个小小的项目它非要弄几个设计模型进去本末倒置//设计模式肯定有它独特的优点要活学活用不要深陷其中生搬硬套//二单例设计模式//单例设计模式使用的频率比较 高//单例整个项目中由某个或者某些特殊的类属于该类的对象我只能创建1个多了我创建不了//单例类/*MyCAS a;MyCAS a2;*/MyCAS *p_a MyCAS::GetInstance();//创建对象返回该类MyCAS对象的指针//MyCAS *p_b MyCAS::GetInstance();p_a-func();MyCAS::GetInstance()-func();//该装载的数据装载//三单例设计模式共享数据问题分析、解决//面临的问题需要在我们自己创建的线程而不是主线程中创建MyCAS这个单例类的对象这种线程可能不止一个最少2个。//我们可能会面临GetInstance()这种成员函数需要互斥//虽然这两个线程是同一个入口函数但大家千万要记住这是两个线程所以这里会有两个流程两条通路同时执行std::thread mytobj1(mythread);std::thread mytobj2(mythread);mytobj1.join();mytobj2.join();//四std::call_once()C11引入的函数该函数的第二个参数 是一个函数名a()//call_once功能是能够保证函数a()只被调用一次。//call_once具备互斥量这种能力而且效率上比互斥量消耗的资源更少//call_once()需要与一个标记结合使用这个标记std::once_flag其实once_flag是一个结构//call_once()就是通过这个标记来决定对应的函数a()是否执行调用call_once()成功后call_once()就把这个标记设置为一种已调用状态//后续再次调用call_once()主要once_flag设置了已调用状态那么对性的函数a()就不会再被执行了return 0; } 总结 持更新中…
http://www.sczhlp.com/news/240279/

相关文章:

  • 怎样搭建免费网站ps做网站主页图片
  • 凡科网站免费版怎么做搜索网站模板
  • 揭阳seo网站管理视觉设计包括
  • 先做网站后备案吗公司官网建设
  • 兴义 网站建设上海网站建设公司推荐排名
  • 网站有域名没备案榆林做网站电话
  • 遵义住建局查询网站好多网站没排名了
  • 做软装设计找图有什么好的网站什么nas可以做网站服务器
  • 做门窗安装用哪些网站找生意工业和信息化部工业文化发展中心
  • 做美工一般用到的素材网站wordpress文章保存目录
  • 单页网站怎么制作ui设计主要是做什么
  • 购物网站设计思路做网站服务器用谁的
  • swf影视网站源码如何给网站增加图标
  • [题解]P13667 [GCPC 2023] Balloon Darts
  • 开发者必看的 15 个困惑的 Git 术语(以及它们的真正含义)
  • 二级域名网站怎么建设78模板网免费模板
  • 国家建设部防化工程师网站官网文字怎么生成网址链接
  • 延吉市住房城乡建设局官方网站网站制作一般哪家好
  • 网站的后台年会策划
  • 徐州做网站那家好中国免费空间网
  • 龙岩做网站公司在哪里铜仁建设局网站首页
  • 网站建设需求分析调查表学校网站作用
  • 网站上的3d产品展示怎么做网易企业邮箱登录参数错误
  • 企业网站名备案好看的网站首页设计
  • 怎样登录建设互联网站网站建设为风险分析
  • 陕西有色建设有限公司官方网站网上商城系统的设计与实现
  • 北京建站公司兴田德润专业电子商务网站的设计与开发
  • 建设市场监督管理网站汕头企业建站系统模板
  • 简述网站建设小组的五类成员网络服务提供者发现用户利用其网络服务对未成年
  • 禅城网站建设多少钱网站死链接