国产探花免费观看_亚洲丰满少妇自慰呻吟_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


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

圖片精選

主站蜘蛛池模板: 沾化县| 夏津县| 曲周县| 盐亭县| 宁海县| 衡阳市| 额济纳旗| 轮台县| 千阳县| 双江| 通河县| 岫岩| 盖州市| 新晃| 城口县| 建湖县| 云林县| 耿马| 革吉县| 德阳市| 祁阳县| 绥江县| 紫金县| 陵川县| 永州市| 吕梁市| 新绛县| 双柏县| 丰县| 鲁山县| 光山县| 都匀市| 德昌县| 玉林市| 龙岩市| 香河县| 额敏县| 株洲县| 南投市| 灵武市| 丽江市|