`

单线程使用 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 。


0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics