CreateEvent 自动复位和手动复位的区别

来源:互联网 发布:宜人贷淘宝验证不了 编辑:程序博客网 时间:2024/05/17 22:17

{    HANDLE hEvent = CreateEvent(NULL,       FALSE, //automatically resets      TRUE, //flag for initial state      NULL);    WaitForSingleObject(hEvent, -1); //此处正常退出,因为前面的初始值是TRUE    SetEvent(hEvent); //设置事件    WaitForSingleObject(hEvent, -1); //此处正常退出,因为前面的SetEvent    WaitForSingleObject(hEvent, 2000); //此处会超时退出    CloseHandle(hEvent);  }    {    HANDLE hEvent = CreateEvent(NULL,       TRUE, //manual-reset       TRUE, //flag for initial state      NULL);        WaitForSingleObject(hEvent, -1); //此处正常退出,因为前面的初始值是TRUE    WaitForSingleObject(hEvent, -1); //此处正常退出,因为需要手动复位    ResetEvent(hEvent); //重置事件    WaitForSingleObject(hEvent, 2000); //此处会超时退出    SetEvent(hEvent);    WaitForSingleObject(hEvent, -1); //此处正常退出,因为前面的SetEvent        CloseHandle(hEvent);  }