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

wordpress导航网站模板下载温州网站推广优化公司

wordpress导航网站模板下载,温州网站推广优化公司,资源下载类网站源码,广告设计软件哪个好之前笔者几篇文章介绍了改线程类的文章. 关联文章的地址 几年前写过一个C的多线程框架#xff0c;虽然写完了#xff0c;但是人一懒做了一次说明以后就没影了#xff0c;最近把代码整顿了一下#xff0c;预备发到github上#xff0c;在这里#xff0c;再把这个框架总结一… 之前笔者几篇文章介绍了改线程类的文章. 关联文章的地址      几年前写过一个C的多线程框架虽然写完了但是人一懒做了一次说明以后就没影了最近把代码整顿了一下预备发到github上在这里再把这个框架总结一下吧。           多线程始终是编程中常见的问题特别是在Linux的c上多线程的封装始终不是很好当然有很多第三方库可以用比如boost之类的但是我们有时候并不须要那么庞大的库只须要一个轻量级的线程框架就好了于是自己编了一个现在只在Linux下用了但是设计的时候是按照多平台来编的如果你有须要可以自己添加一些个类把他酿成一个windows平台获得其他平台的比如eCos,Vxworks等等。。           对于多线程我们须要的是把操作系统底层封装起来让用户编写程序的时候更多的存眷他的代码逻辑而不是线程之间的逻辑最好是new一个类以后就启动了一个线程线程之间的通信也有相应的类封装起来只要调用就好了。           根据这些我们定义了一组基类来封装各种多线程的接口           操作系统基类该类主要定义了createThread函数来创立线程该函数是纯虚函数继承自它的类须要根据平台实现其功能 class COperatingSystem {public:COperatingSystem();~COperatingSystem();virtual bool createThread(CThread *mThread,unsigned long stack_size8*1024)0;virtual void sleepSec(unsigned long sec)0;protected:CThread *p_thread; }; 线程基类定义了threadEntry来作为线程的入口initializeThread来初始化线程子类可以初始化不同的成员变量mainLoop是纯虚函数为线程的主函数一般是一个while循环子类必须实现该虚函数。 class CThread {public:CThread(const char *m_thread_name);~CThread();void threadEntry(CCountingSem *pSemaphore);protected:virtual bool initializeThread();virtual void mainLoop()0;COperatingSystem *p_opration_system;char *p_thread_name;}; 为了平台的无关性使用了简略工厂模式用来根据不同的平台返回不同的操作系统类信号量类和互斥类。 class COperatingSystemFactory {public:static COperatingSystem *newOperatingSystem();static CCountingSem *newCountingSem(unsigned int init);static CMutex *newMutex(const char *pNameNULL);}; 信号量基类纯虚函数定义了get和post信号量方法子类必须根据系统类型进行不同的实现 class CCountingSem {public:CCountingSem();~CCountingSem();virtual bool Get(Mode mode kForever, unsigned long timeoutMS 0) 0;virtual bool Post(void) 0;}; 互斥基类纯虚函数定义了lock和unlock两个方法同样子类必须根据系统类型进行不同的实现 class CMutex {public:CMutex(const char *pName NULL);~CMutex();virtual bool Lock()0;virtual bool UnLock()0;protected:char *mutex_name; }; 每日一道理 时间好比一条小溪它能招引我们奔向生活的海洋时间如同一叶扁舟它将帮助我们驶向理想的彼岸时间犹如一支画笔它会指点我们描绘人生的画卷。      还有一个重头是msgQueue类下次说。           有了这些个基础类以后我们就可以开始了。      我们希望的结果是      用户也就是程序员啦从CThread继承一个自己的线程类比如CTestThread然后实现mainLoop方法这样一个不考虑通信的线程就编写完了然后我只须要在main.cpp中new一下这个CTestThread那么线程就启动了没有其他任何繁琐的操作。           要实现这样的功能下面那些个类须要怎么样的组合调用呢      首先因为是在Linux下所以全部的基类都要派生出Linux对应的子类CThread不须要因为是用户编写的COperatingSystemFactory也不须要因为是抽象工厂所以我们在Linux下创立了CLinuxMutex,CLinuxOperratingSystem,CLinuxCountingSem三个子类并且在这些个子类中实现了基类中的纯虚函数。      接着我们new 一个 CTestThread 后须要通过COperatingSystemFactory的newOperatingSystem 生成一个CLinuxOperratingSystem然后CLinuxOperratingSystem调用createThread发生一个线程函数然后把CTestThread的mainLoop绑定到这个线程函数中。           对就这么简略           在github中下载了全部的文件以后你只须要编写你自己的线程类如 class TestThread:public CThread {public:TestThread(const char *m_name);~TestThread();virtual void mainLoop(); }; //然后实现mainLoop方法 void TestThread::mainLoop() {while(1){printf(%s :hello world\n,p_thread_name);} }      然后在main.cpp中调用一句话new一下这个类 TestThread *anew TestThread(Thread A); OK一切搞定当初运行就可以不停的打出hello world了。      同样你也可以new多个实例      如果想要其他功能的线程你再从CThread派生一个其他类就好了很简略吧。           略微庞杂一点的是线程通信下次说。           代码还没有整顿完成等整顿完成了一并传到github上大概还须要两三天时间吧。           文章结束给大家分享下程序员的一些笑话语录 人脑与电脑的相同点和不同点人脑会记忆数字电脑也会记忆数字人脑会记忆程序电脑也会记忆程序但是人脑具有感知能力这种能力电脑无法模仿人的记忆会影响到人做任何事情但是电脑只有程序软件。比尔还表示人脑与电脑之间最重要的一个差别就是潜意识。对于人脑存储记忆的特别之处比尔表示人脑并不大但是人脑重要的功能是联络人脑会把同样的记忆存储在不同的地方因此记忆读取的速度就不相同而这种速度取决于使用的频率和知识的重要性。人脑的记忆存储能力会随着年龄增长而退化同时记忆的质量也会随着年龄退化。经典语录网 转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/05/22/3093760.html
http://www.huolong8.cn/news/336712/

相关文章:

  • 沈阳设计网站公司网站建设 域名 数据库
  • 建设厅网站怎么打印不出来中国建行网银登录
  • 个人网站备案入口旺道seo优化
  • aspx网站服务器失去响应好用的wordpress模板
  • 有哪些做笔译的网站建设网站的必要与可行性
  • 1000学习做网站贵吗wordpress多国语言设置
  • 网站首页模板设计图网站建设遵循的原则
  • 网站建设与制作总结wordpress 改域名
  • 吴桥网站建设价格vue做网站
  • 上海的网站设计公司做网站视频存储
  • 河北云网站建设大学生求职创业补贴
  • 福建省建设厅网站备案网站需要多久
  • DW做的网页用网站打不开wordpress导航网址
  • 做网站旅游销售网页设计代码写入文字
  • 网站开发所需要的条件网页系统设计
  • 最牛的SEO教程网站建网站需要什么资质
  • 用wordpress建的网站文山 砚山 网站建设
  • poco摄影网哈尔滨网站优化
  • 国内工程机械行业网站建设现状seo搜索引擎优化软件
  • 北京网站制作培训学校网站开发维护前景
  • 做网站业务的怎么寻找客户网站制作 网页显示不全
  • 旗县政务网站建设工作方案本地服务器搭建wordpress
  • 长春做网站 信赖吉网传媒wordpress卡蜜 插件
  • 南昌网优化网站设计公司有什么可以做建筑模型的网站
  • 沈阳网站建设设计公司上海到北京
  • 珠海网站排名提升中国建设网官方网站证书查询
  • 汕头网站设计开发专业android开发者官网
  • 服务器怎么发布网站typecho同步到wordpress
  • 创意设计公司经营范围网站收录查询临沂seo
  • 建设网站技术公司电话号码广州化妆品网站建设公司排名