• <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>

            Windows下Event的包裝類:CMyEventHelp

            最近在寫多線程的應(yīng)用,事件來,事件去的,非常麻煩。
            每個(gè)Event,都要初始化、釋放、Set/Reset;一點(diǎn)點(diǎn)修改,就要改很 多處;搞得我頭都大了。
            今天寫了個(gè)包裝class,共享之:
            #ifndef _MyEventHelp_h_DATE_2008_04_28_TIME_20_57_05_
            #define _MyEventHelp_h_DATE_2008_04_28_TIME_20_57_05_

            #include 
            <windows.h>

            class CMyEventHelp
            {
            public:
                CMyEventHelp(                
                                LPSECURITY_ATTRIBUTES lpEventAttributes 
            = NULL,
                                BOOL bManualReset 
            = FALSE,
                                BOOL bInitialState 
            = FALSE,
                                LPCSTR lpName 
            = NULL
                            )
                            : m_hEvent(NULL)
                {
                    init(lpEventAttributes, bManualReset, bInitialState, lpName);
                }

                
            ~CMyEventHelp()
                {
                    clear();
                }

            public:
                HANDLE getHandle()
            const {return m_hEvent;}
                
            bool   set() {return (FALSE != ::SetEvent(m_hEvent));}
                
            bool   reset() {return (FALSE != ::ResetEvent(m_hEvent));}

                HANDLE init(    
                                LPSECURITY_ATTRIBUTES lpEventAttributes 
            = NULL,
                                BOOL bManualReset 
            = FALSE,
                                BOOL bInitialState 
            = FALSE,
                                LPCSTR lpName 
            = NULL
                            )
                {
                    clear();
                    m_hEvent 
            = ::CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName);
                    
            return m_hEvent;
                }

                
            void   clear() 
                {
                    
            if(NULL != m_hEvent)
                    {
                        ::CloseHandle(m_hEvent);
                        m_hEvent 
            = NULL;
                    }
                };

                DWORD wait(DWORD dwTimeOut) 
            const
                {
                    
            return ::WaitForSingleObject(m_hEvent, dwTimeOut);
                }

            protected:
                HANDLE m_hEvent;
            };

            #endif // _MyEventHelp_h_DATE_2008_04_28_TIME_20_57_05_

            posted on 2008-04-29 10:25 FongLuo 閱讀(259) 評(píng)論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2008年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導(dǎo)航

            常用鏈接

            留言簿

            隨筆分類(11)

            隨筆檔案(79)

            文章檔案(1)

            收藏夾(38)

            學(xué)習(xí)網(wǎng)站

            一般網(wǎng)站

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            久久丫精品国产亚洲av不卡| 精品久久久久久无码中文字幕| 久久黄视频| 久久福利资源国产精品999| 久久久久高潮综合影院| 97久久香蕉国产线看观看| 国产激情久久久久影院小草| 人人狠狠综合久久亚洲| 人妻无码精品久久亚瑟影视| 国产成人精品免费久久久久| 亚洲国产成人久久精品影视| 久久只有这精品99| 亚洲国产成人久久综合碰碰动漫3d | 亚洲欧美日韩中文久久 | 亚洲精品NV久久久久久久久久 | 久久亚洲精品无码播放| 国产色综合久久无码有码| 日本精品久久久久中文字幕8| 人妻精品久久久久中文字幕| 久久精品国产亚洲av日韩| 日韩久久无码免费毛片软件| 97久久超碰国产精品旧版| 狠狠色噜噜色狠狠狠综合久久| 91精品国产91久久久久久蜜臀| 久久久久亚洲AV无码永不| 天天做夜夜做久久做狠狠| 久久精品无码一区二区三区免费| avtt天堂网久久精品| 无码AV波多野结衣久久| 无码人妻久久一区二区三区蜜桃 | 狠狠色丁香婷综合久久| 亚洲AV无码成人网站久久精品大| 亚洲国产成人久久精品99 | 精品国产综合区久久久久久 | 国产精品无码久久久久| 91精品国产乱码久久久久久| 久久亚洲私人国产精品| 久久久久久国产精品免费无码| 性做久久久久久久| 久久99精品国产自在现线小黄鸭| 青青草原精品99久久精品66 |