• C++中CreateEvent函数


    C++中CreateEvent函数

    函数原型:

         HANDLE CreateEvent(  
          LPSECURITY_ATTRIBUTES lpEventAttributes, // 一般为NULL
          BOOL bManualReset,                       // 手动/自动  
             									  // TRUE:表示手动,在WaitForSingleObject后必须手动调用ResetEvent清除信号
             									  // FALSE:表示自动,在WaitForSingleObject后,系统自动清除事件信号
          BOOL bInitialState,                      // 初始状态,FALSE为无信号,TRUE为有信号
          LPCTSTR lpName                           // 事件的名称
        );  
    

    CloseHandle:关闭句柄 使用CloseHandle函数关闭句柄。当进程终止时,系统将自动关闭句柄。事件对象会被销毁,当最后一个句柄被关闭。

    OpenEvent:打开指定名称的事件, HANDLE handle = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, TEXT("women"));

    SetEvent:设置为激活触发状态

    PulseEvent():重置信号-》设置信号-》重置信号,使信号状态发生一次脉冲变化

    ResetEvent:设置为未激活触发状态

    WaitForSingleObject(

    HANDLE hHandle,

    DWORD dwMilliseconds);

    检测信号,如果未激活,代码会处于挂起状态,不再往下执行(INFINITE 无限等待)

    第一个参数指明对象句柄

    第二个参数表明wait时间

    返回值:

    WAIT_ABANDONED -说明句柄代表的对象是个互斥对象,并且正在被其它线程占用

    WAIT_OBJECT_0- 说明句柄对象处于有信号状态

    WAIT_TIMEOUT-在指定的时间内得不到答复

  • 相关阅读:
    ERROR: Cannot set priority of registrydns process 33740
    Hbase和Phoenix部署-单机版
    ambari安装hdp时,新建的ambari-hdp-1.repo中baseurl无值
    centos7.2升级openssh到8.0
    kafka一个broker挂掉无法写入
    对cdh搭建过程错误总结及解决方法
    streamsets
    [Spark]Task not serializable
    [Kafka]How to Clean Topic data
    Postgresql Master/Slaver
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/14872337.html
Copyright © 2020-2023  润新知