加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

实例:一个服务器程序的架构介绍

发布时间:2019-01-28 21:07:34 所属栏目:业界 来源:高性能服务器开发
导读:本文将先容我曾经做过的一个项目标处事器架构和处事器编程的一些重要细节。 一、措施运行情形 操纵体系:Centos 7.0 编译器:gcc/g++ 4.8.3、cmake 2.8.11 mysql数据库:5.5.47 项目代码打点器材:Visual Studio 2013 一、措施布局 该措施总共有 17 个线程

读到这里,你也许认为事变线程所做的事变也不外就是挪用 handle_io_events() 来吸取收集数据,着实否则,事变线程也可以做措施营业逻辑上的一些事变。也就是在handle_other_things() 内里。那怎样将这些事变加到 handle_other_things() 中去做呢?写一个行列,使命先放入行列,再让 handle_other_things() 从行列中取出来做?我在该项目中也小心了muduo库的做法。即 handle_other_things() 中挪用一系列函数指针,伪码如下:

  1. void do_other_things()   
  2. {   
  3.     somefunc();   
  4. //m_functors是一个stl::vector,个中每一个元素为一个函数指针   
  5. void somefunc()   
  6. {   
  7.     for (size_t i = 0; i < m_functors.size(); ++i)   
  8.     {   
  9.         m_functors[i]();   
  10.     }   
  11.  
  12.     m_functors.clear();   

//m_functors是一个stl::vector,个中每一个元素为一个函数指针 void somefunc() { for (size_t i = 0; i < m_functors.size(); ++i) { m_functors[i](); } m_functors.clear(); }

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读