阅读量:0
在 C++ 标准库中,并没有名为 SetEvent
的函数
SetEvent
函数的原型如下:
BOOL WINAPI SetEvent( _In_ HANDLE hEvent );
参数说明:
hEvent
:一个事件对象的句柄,该事件对象必须已经通过CreateEvent
函数创建。
返回值:
- 如果函数成功,则返回非零值(
TRUE
)。 - 如果函数失败,则返回零值(
FALSE
)。要获取扩展错误信息,请调用GetLastError
函数。
使用示例:
#include<Windows.h> #include<iostream> int main() { // 创建一个手动重置的事件对象 HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if (hEvent == NULL) { std::cerr << "CreateEvent failed"<< std::endl; return 1; } // 设置事件对象的状态为已触发 if (SetEvent(hEvent)) { std::cout << "Event is set"<< std::endl; } else { std::cerr << "SetEvent failed"<< std::endl; } // 清理资源 CloseHandle(hEvent); return 0; }
注意:SetEvent
函数和相关的事件对象操作仅适用于 Windows 平台。如果你需要在其他平台上实现类似的功能,可以考虑使用 C++11 及更高版本中提供的线程同步原语,如 std::condition_variable
、std::mutex
等。