码迷,mamicode.com
首页 > 其他好文 > 详细

一个时钟

时间:2019-10-31 13:19:50      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:设置   解锁   auto   des   while循环   补充   new   server   信息   

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

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

一、设置时钟

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

一个时钟

标签:设置   解锁   auto   des   while循环   补充   new   server   信息   

原文地址:https://www.cnblogs.com/socks/p/11698594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!