asynDBCenter加入数据库心跳,其实是没有找到更好的方法,看看和以前有什么不同
mongo数据库重练,暂时没有找到好办法,只能这样定时访问
bool asynDBCenter::init(bool isInitRobot)
{if(isInitRobot)m_dbcenter->initRobot();bool ret = m_dbcenter->initDBCenter();m_lastCheckTime = GetTickCount();//记录了初始值if(ret)m_spThread.reset(new std::thread(std::bind(&asynDBCenter::threadLoop, this)));return ret;
}//改成这种方式效率没有以前高了
/*
1.以前是通知的方式,然后有命令就立马唤醒线程
2.这种方式会导致线程不停的切换
*/void asynDBCenter::threadLoop()
{while(1) {CmdPkt pkt;if(get_front_and_pop(pkt))//上了把cmd包的锁,保护包,获取请求cmd包
        {pkt.process(pkt.on_process, pkt.json.c_str());//根据cmd请求,访问数据库continue;}if(GetTickCount() - m_lastCheckTime > 1000*10)//10访问一次
        {HeatBeat();//定时访问数据库m_lastCheckTime = GetTickCount();}else{boost::this_thread::interruptible_wait(1);}}
}

转载于:https://www.cnblogs.com/zzyoucan/p/3992177.html

asynDBCenter(修改)相关推荐

  1. mysql并发更新数据,多用户并发修改数据解决方案。

    mysql并发更新数据,多用户并发修改数据解决方案. 在系统中,有一些如余额.资产.积分的数据,是要保证数据一致性的.如,一个人使用两个设备同时进行消费操作,如何保证数据一致性的问题. 我们一起来思考 ...

  2. 设置select下拉框不可修改的→“四”←种方法

    设置select下拉框为不可修改的几种方法: 因为select的特殊性,导致它不能像input表单一样简单地设置一个readonly来限制修改,所以,我们需要进行别的操作! 1.为下拉框添加样式,可以 ...

  3. 将页面元素置为不可修改Readonly,所有元素统一修改,统一调用

    使用JS方法,实现任何形式的元素的不可修改操作 <script language="javascript"> /**将所有元素置为不可修改 **/ function r ...

  4. Myeclipse中修改项目默认编码还是乱码?一步永久解决!

    在myeclipse中修改默认编码后发现项目还是乱码? 点击Windows选择Preferences 如下图

  5. linux修改mysql密码sa_如何修改SA口令,数据库SA密码怎么改?

    [问题现象]安装数据库的时候设置过SA口令,安装后不记得了?有没有办法可以修改数据库SA口令? [原因分析]各版本数据库更改SA口令的方法不一样,一般MSDE2000数据库安装时没有SA口令,SQL ...

  6. mysql修改校对集_MySQL 教程之校对集问题

    本篇文章主要给大家介绍mysql中的校对集问题,希望对需要的朋友有所帮助! 推荐参考教程:<mysql教程> 校对集问题 校对集,其实就是数据的比较方式. 校对集,共有三种,分别为:_bi ...

  7. ubuntu 修改时区、时间、同步网络时间、将时间写入硬件

    查看系统当前的时间状态 $ timedatectl statusLocal time: 六 2021-10-30 09:33:37 CSTUniversal time: 六 2021-10-30 01 ...

  8. 数据结构(03)— 数据处理基本操作(数据的查找、新增、删除、修改)

    我们先来看一个关于查找的例子.查找,就是从复杂的数据结构中,找到满足某个条件的元素.通常可从以下两个方面来对数据进行查找操作:​ 根据元素的位置或索引来查找: 根据元素的数值特征来查找. 针对上述两种 ...

  9. Ubuntu 16.04 安装后修改屏幕分辨率(xrandr: Failed to get size of gamma for output default)

    ubuntu 16.04 安装后分辨率只有一个选项 1024x768,使用 xrandr 命令出现错误: xrandr: Failed to get size of gamma for output ...

  10. Linux shell 学习笔记(5)— 文件权限(添加、修改、删除用户及创建、修改群组)

    1. Linux的安全性 Linux 安全系统的核心是用户账户.每个能进入 Linux 系统的用户都会被分配唯一的用户账户.用户对系统中各种对象的访问权限取决于他们登录系统时用的账户. 用户权限是通过 ...

最新文章

  1. redis分布式锁 在集群模式下如何实现_收藏慢慢看系列:简洁实用的Redis分布式锁用法...
  2. C++中的this指针
  3. ANCOM:找出微生物群落中的差异物种
  4. oracle数据库enq: TX - allocate ITL entry性能诊断
  5. WP7 开发(二) 通过Geometries来绘制形状
  6. 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
  7. 网格自适应_Abaqus网格重划自适应技术
  8. mysql查询case when_【原创】关于MySQL高级查询–case when
  9. java使用泛型后消除泛型_如何以及何时使用泛型
  10. matlab 两点划线,matlab学习2-画线
  11. 员工发布“宏颜获水”广告引争议 苏宁回应:系个人行为
  12. java项目上线mysql查询慢_Java Web应用程序在缓慢的MySQL查询中停滞不前
  13. 聚能聊每周精选 第十五期
  14. Unity使用HDR做天空盒
  15. 笑着学Spring - (3) - Spring事务管理
  16. docker之安装jdk8
  17. java发送公众号/服务通知模板消息到指定用户(完整流程|亲测可用)
  18. WEB前端面试2014阿里旺旺
  19. PLSQL developer下载、安装、详细教程
  20. Error: IMA Service Error Message -2147483647 群里解决问题收集的 (一飞出品)

热门文章

  1. Windows中安装Electron说明
  2. SQL server 2005 数据库只能用计算机名连接不能用IP地址
  3. 经典排序算法(二十一)--Cycle Sort
  4. php mysql delimiter,MySql delimiter的作用是什么_MySQL
  5. FISCO BCOS(十一)——— FISCO BCOS如何查看账户
  6. FISCO BCOS(九)——— WeBase的节点前置服务
  7. hadoop在windows上的环境配置及HDFS API编程示范
  8. qq里面cap字符_QQ 幸运字符一共有几种?
  9. linux下 udf提权_raven靶机实战(linux-udf提权)-vuluhub系列(四)
  10. HTML创建几个边框,使用HTML5创建多个边框