我有一个手动重置事件来控制(暂停和恢复)while 循环。所以在循环中,我必须不断检查事件信号状态
void my_loop()
{
while(is_ok)
{
// Check whether event is in signaled state
dwWaitResult = WaitForSingleObject(
ghEvent, // event handle
INFINITE); // indefinite wait
switch (dwWaitResult)
{
// Event object was signaled
case WAIT_OBJECT_0:
printf("my_loop is working");
break;
// An error occurred
default:
printf("my_loop is halted");
break;
}
}
}
这是好习惯吗?连续调用是否WaitForSingleObject
会导致任何问题(CPU、内存、...)?
或者在这种情况下是否有更好的方法来检查事件状态?