国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++事件的建立和使用SetEvent,ResetEvent

2019-11-08 18:37:50
字體:
來源:轉載
供稿:網友

一、事件是很常用的多線程同步互斥機制

     函數原型如下所示,一共四個參數:

HANDLE CreateEvent(

 LPSECURITY_ATTRIBUTES lpEventAttributes, // SECURITY_ATTRIBUTES結構指針,可為NULL BOOL bManualReset,     // 手動/自動                                     // TRUE:表示手動,在WaitForSingleObject后必須手動調用ResetEvent清除信號                                    // FALSE:表示自動,在WaitForSingleObject后,系統自動清除事件信號 BOOL bInitialState,        //初始狀態,FALSE為無信號,TRUE為有信號 LPCTSTR lpName         //事件的名稱    );

二、下面是使用演示:

     1、首先在要使用時間的類中聲明這個事件的句柄,用來標識這個事件,如下所示:

             

      2、聲明好了句柄,就要調用CreateEvent()函數創建事件了,如下所示:

            

      3、設置信號的初始狀態,使用SetEvent()(激活狀態)或者ResetEvent()(未激活狀態),依據使用設置,這里是Set如下所示:

            

       4、在函數中檢測事件的狀態,如下所示在循環中檢測事件的狀態,如果事件未被激活,循環將會被掛起在這里,不會往下執行,除非在別處調用了SetEvent()或者ResetEvent(),這里是事件被激活之后才會往下執行:

    

            

        5、執行完成之后調用ResetEvent()將事件狀態還原(如果創建事件的時候是手動設置的話)。

     from:http://blog.csdn.net/meloyi/article/details/50394735


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 扎赉特旗| 沁源县| 肥西县| 房山区| 大竹县| 邻水| 寿光市| 台北县| 邢台市| 雷州市| 库车县| 绩溪县| 稻城县| 聂荣县| 凭祥市| 江津市| 奉化市| 湘西| 都江堰市| 东莞市| 常山县| 肃北| 来安县| 霍城县| 宁化县| 山丹县| 巴彦淖尔市| 柳河县| 韶关市| 仪陇县| 桦甸市| 泰兴市| 泉州市| 托里县| 师宗县| 延边| 崇文区| 亳州市| 庆城县| 莫力| 土默特左旗|