单线程使用 CreateWaitableTimer 和 SetWaitableTimer 设置定时周期
原文及更多内容:http://yysource.sourceforge.net/?p=91
一开始的想法是用?CreateWaitableTimer 和 SetWaitableTimer 设置一个定时器,要求每500毫秒报时一次。
代码中用?
??代码1:while (WaitForSingleObject(hTimer, INFINITE) == WAIT_OBJECT_0){...}?
来等待定时器。
其中?CreateWaitableTimer 函数有些需要说明的地方。bManualReset?这个参数的作用,决定了定时器是人工重置的,还是自动重置。
? 如果是设为TRUE,那么只要第一次被激活后,以后不论何时,代码1中?WaitForSingleObject?返回的结果都是 WAIT_OBJECT_0。
? 如果设为FALSE,那么第一次激活后,立刻失效,以后每隔500毫秒才会被激活一次,即,代码1中?WaitForSingleObject 每隔500毫秒才会返回一次?WAIT_OBJECT_0 。