zoukankan      html  css  js  c++  java
  • 一个时钟

    定时器应该包含哪些内容呢,

    做一个定时器,即使用一个线程不断循环检测 

    一、设置时钟

    SetTimer(uLong uTimerID,uint64 uTimerSpace,conststchar* szDes)

    uTimerID定时器ID,唯一性,通过它回调函数,uTimerSpace 定时器调用间隔 定时器的描述信息

    二、回调时钟函数

    1、检测毫秒计时器

    1.1、检测刻度是否错误
    1.2、开始时刻
    1.3、当前时刻
    1.4、最后检测时刻
    1.5、遍历时间刻度

      1.5.1每一时刻都维护着一个定时器队列,使用while循环遍历当前时间刻度中所有待触发的定时器,

      1.5.2触发定时器统一接口OnTimeFunc(pTimer):

           定时器ID

           时间间隔

           调试信息

           第一次时间

           TimerAxis::OnTimeFuncEx(pTime)四种类型

              1、CConnectionDrop::OnTimer(dwTimerID)

              1、CConnectionLogOut::OnTimer(dwTimerID)

              1、CPluginTimeProxy::OnTimer(dwTimerID)

              4、CGlobalServer::Ontime(dwTimerID)

                  switch(dwTimerID)

                    queueNew()删除最晚进入的若干玩家,以便剩下的人数为每桌人数的整数倍

                    queueTable_New()给玩家简历桌子,用户上桌,补充机器人

                      queueEnd(ITableServer* pServer)

                        AutoOnTable(FreeRobotVec[s])

                          OnChair(pActor)用户上桌

                            OnUserEnter(pActor)

                                                  

    2、检测秒计时器

    3、检测天计时器

    三、关闭时钟

    KillTimer(ulong dwTimerID,ITimeSink *pTimerSink)

    dwTimerID  时钟ID,pTimerSink 时钟回调接口

    四、加锁时钟

    m_bLock=TRUE

    五、解锁时钟

    m_bLock=FALSE

  • 相关阅读:
    Json操作(汇总)
    Jersey实现Client端:GET/PUT/POST/DELETE
    tomcat配置文件server.xml详解
    DB2 Catalog浅析&学习笔记
    《学习笔记》Maven
    【58沈剑架构系列】单点系统架构的可用性与性能优化
    JavaScript(获取或设置html元素的宽,高,坐标),确定和判断鼠标是否在元素内部,二级导航菜单鼠标离开样式问题解决
    纯CSS绘制三角形(各种角度)
    css3 box-sizing属性值详解
    css字体图标的使用方法
  • 原文地址:https://www.cnblogs.com/socks/p/11698594.html
Copyright © 2011-2022 走看看