青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁 新隨筆 聯系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
相關UML:


CTimerEngine成員變量:
    //狀態變量
    DWORD                                m_dwTimerSpace;                    //時間間隔,這個值后來應該是給了定時器線程
protected:
    
bool                                m_bService;                        //運行標志
    DWORD                                m_dwTimePass;                    //經過時間
    DWORD                                m_dwTimeLeave;                    //倒計時間
    CTimerItemPtr                        m_TimerItemFree;                //空閑數組
    CTimerItemPtr                        m_TimerItemActive;                //活動數組
這些是分析定時器線程函數需要了解的成員變量,其次是線程同步:
從代碼中可以看出所有對:m_TimerItemActive;  m_TimerItemFree;的操作都是在一個線程鎖的保護之下的。


定時器線程:
通過CTimerThread繞一圈以后最終被循環執行的實際上是這個函數(m_dwTimerSpace控制最小時間):
//定時器通知
void CTimerEngine::OnTimerThreadSink()
{
    
//鎖定資源
    CThreadLockHandle LockHandle(&m_ThreadLock);

    
//倒計時間
    if (m_dwTimeLeave==NO_TIME_LEFT) 
    {
        ASSERT(m_TimerItemActive.GetCount()
==0);
        
return;
    }

    
//減少時間
    ASSERT(m_dwTimeLeave>=m_dwTimerSpace);
    m_dwTimeLeave
-=m_dwTimerSpace;
    m_dwTimePass
+=m_dwTimerSpace;

    
//查詢定時器
    if (m_dwTimeLeave==0)
    {
        
bool bKillTimer=false;
        tagTimerItem 
* pTimerItem=NULL;
        DWORD dwTimeLeave
=NO_TIME_LEFT;
        
for (INT_PTR i=0;i<m_TimerItemActive.GetCount();)
        {
            
//效驗參數
            pTimerItem=m_TimerItemActive[i];
            ASSERT(pTimerItem
!=NULL);
            ASSERT(pTimerItem
->dwTimeLeave>=m_dwTimePass);

            
//定時器處理
            bKillTimer=false;
            
// 這一行做了--操作
            pTimerItem->dwTimeLeave -= m_dwTimePass;
            
if (pTimerItem->dwTimeLeave==0L)
            {
                
//發送通知
                m_AttemperEvent.PostTimerEvent(pTimerItem->wTimerID,pTimerItem->wBindParam);

                
//設置次數
                if (pTimerItem->dwRepeatTimes!=TIMER_REPEAT_TIMER)
                {
                    ASSERT(pTimerItem
->dwRepeatTimes>0);
                    
if (pTimerItem->dwRepeatTimes==1L)
                    {
                        bKillTimer
=true;
                        m_TimerItemActive.RemoveAt(i);
                        m_TimerItemFree.Add(pTimerItem);
                    }
                    
else pTimerItem->dwRepeatTimes--;
                }

                
//設置時間,從新開始倒計時
                if (bKillTimer==false) pTimerItem->dwTimeLeave=pTimerItem->dwElapse;
            }

            
//增加索引
            if (bKillTimer==false
            {
                i
++;
                dwTimeLeave
=__min(dwTimeLeave,pTimerItem->dwTimeLeave);
                ASSERT(dwTimeLeave
%m_dwTimerSpace==0);
            }
        }

        
//設置響應
        m_dwTimePass=0L;
        m_dwTimeLeave
=dwTimeLeave;
    }

    
return;
}

CTimerEngine:
啟動一個定時器線程,循環遍歷定時器,如果發現滿足出發條件的定時器就投遞一個定時器消息到CQueueServiceEvent對象。



posted on 2011-06-07 15:13 Enic 閱讀(911) 評論(0)  編輯 收藏 引用 所屬分類: 網狐棋牌源碼分析
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产日韩欧美一区二区三区| 极品尤物av久久免费看| 亚洲人体1000| 欧美成人一品| 老司机免费视频一区二区| 久久精品99无色码中文字幕 | 在线播放中文字幕一区| 国产综合久久久久久鬼色| 久久久99国产精品免费| 伊人精品视频| 亚洲精品乱码久久久久久日本蜜臀 | 欧美日韩国产天堂| 欧美日韩精品三区| 国产精品日韩在线| 国模套图日韩精品一区二区| 一区精品在线| 一区二区日韩| 久久久久久久综合狠狠综合| 欧美激情四色| 亚洲欧美国产va在线影院| 久久狠狠久久综合桃花| 欧美成人精品激情在线观看 | 欧美在线播放| 欧美久久精品午夜青青大伊人| 国产精品久久久久久久7电影| 国产一区二区三区在线观看视频| 亚洲国产精品一区二区www在线 | 欧美三级韩国三级日本三斤| 国产深夜精品福利| 日韩视频在线一区二区| 欧美在线观看www| 亚洲欧洲精品一区二区三区不卡 | 亚洲国产黄色| 欧美一区二区视频在线观看2020 | 午夜欧美精品| 欧美日本视频在线| 影院欧美亚洲| 久久九九99| 亚洲深爱激情| 欧美另类69精品久久久久9999| 国产亚洲欧美色| 亚洲线精品一区二区三区八戒| 欧美aⅴ一区二区三区视频| 亚洲性xxxx| 欧美精品在线一区二区| 亚洲国产成人精品女人久久久 | 欧美大片在线观看一区| 夜夜嗨av一区二区三区| 蜜臀av一级做a爰片久久 | 国产在线麻豆精品观看| aa日韩免费精品视频一| 老牛嫩草一区二区三区日本 | 亚洲欧洲另类| 六月婷婷一区| 久久久久久97三级| 国产一区二区福利| 欧美在线999| 午夜欧美精品久久久久久久| 国产精品一区二区你懂得| 国产精品99久久久久久宅男| 亚洲国产高清aⅴ视频| 久久天天躁夜夜躁狠狠躁2022| 国产日本欧美视频| 午夜天堂精品久久久久| 中文亚洲字幕| 国产精品乱码| 久久福利电影| 久久久精品免费视频| 永久域名在线精品| 欧美国产专区| 欧美日韩国产黄| 亚洲欧美日韩另类精品一区二区三区| 99re6热在线精品视频播放速度| 欧美激情视频在线播放| 99精品热6080yy久久| 99精品视频免费| 国产精品制服诱惑| 久久精品日韩一区二区三区| 久久国产精品高清| 亚洲成人自拍视频| 亚洲激情成人网| 欧美视频不卡中文| 久久er精品视频| 久久伊伊香蕉| 中国成人黄色视屏| 亚洲男人影院| 在线观看视频一区二区欧美日韩| 亚洲第一综合天堂另类专| 欧美日韩国产在线| 欧美中文字幕久久| 久久综合中文色婷婷| 在线视频日韩精品| 午夜视频精品| 亚洲人成网站在线播| 在线亚洲一区二区| 狠狠干成人综合网| 亚洲美洲欧洲综合国产一区| 国产麻豆精品视频| 欧美国产日韩一区二区三区| 欧美日韩视频免费播放| 亚洲一线二线三线久久久| 亚洲精品欧美激情| 亚洲宅男天堂在线观看无病毒| 国产一区亚洲| 亚洲美女av网站| 黄色欧美成人| 一区二区三区 在线观看视频| 国产情人节一区| 亚洲国产精品第一区二区三区| 欧美日韩亚洲一区二区三区在线| 欧美中文字幕久久| 欧美美女bb生活片| 久久一综合视频| 国产精品v亚洲精品v日韩精品| 狂野欧美激情性xxxx欧美| 国产精品久久久久影院亚瑟| 亚洲成色999久久网站| 国产区在线观看成人精品| 亚洲精品一二区| 亚洲高清在线观看一区| 午夜精品亚洲一区二区三区嫩草| 99这里只有精品| 免费人成网站在线观看欧美高清| 久久精品99国产精品酒店日本| 国产精品v日韩精品| 亚洲精品综合| 亚洲精品在线观看免费| 久久久夜色精品亚洲| 久久精精品视频| 国产欧美一区视频| 亚洲欧美一区二区原创| 午夜精品视频| 国产精品欧美风情| 99精品国产福利在线观看免费| 亚洲人成人99网站| 欧美成熟视频| 亚洲欧洲在线观看| 亚洲理伦在线| 欧美国产先锋| 91久久精品国产91久久性色tv| 亚洲国产精品一区二区第一页| 久久国产精品色婷婷| 久久久精品国产免费观看同学| 国产毛片精品国产一区二区三区| 亚洲永久精品国产| 欧美一区网站| 国语自产在线不卡| 久久久免费av| 欧美国产三级| 一本大道久久a久久综合婷婷| 欧美激情在线狂野欧美精品| 亚洲欧洲一区二区在线播放| 宅男66日本亚洲欧美视频| 国产精品久久久对白| 性做久久久久久久久| 久久久久综合网| 亚洲精品网站在线播放gif| 欧美成人影音| 亚洲天堂网在线观看| 欧美一区二粉嫩精品国产一线天| 国产日韩欧美视频| 久久中文精品| 99成人在线| 欧美一级播放| 在线观看91久久久久久| 欧美激情按摩| 亚洲欧美激情四射在线日| 玖玖玖免费嫩草在线影院一区| 亚洲精品久久久久久一区二区| 亚洲欧洲一区二区三区| 欧美一区二区三区免费在线看 | 欧美激情免费在线| 一区二区三区色| 国产欧美日韩不卡免费| 久久久夜精品| 宅男精品导航| 免费在线看一区| 亚洲综合视频网| 亚洲高清免费| 国产精品视频久久一区| 久久综合一区| 亚洲一区二区三区四区五区午夜| 牛牛国产精品| 欧美中文字幕不卡| 亚洲视频专区在线| 亚洲第一区中文99精品| 国产精品男女猛烈高潮激情| 鲁大师影院一区二区三区| 亚洲女同同性videoxma| 亚洲日本中文| 久久久91精品国产一区二区三区 | 欧美激情第二页| 午夜日韩在线观看| 日韩小视频在线观看| 欧美成人激情在线| 久久黄金**| 久久激情五月激情| 欧美一区二区三区视频免费| 一区二区激情视频| 亚洲精品日韩在线观看|