可以查一下 MSDN 中 Win32 API 函数 SetTimer 的第四个参数的用法。TimerProc

解决方案 »

  1.   

    我上边说的方法不对!因为一般的 Worker Thread 没有消息循环,所以上边方法没用。不过,可以建立一个循环,然后在循环中使用 Sleep 函数,也可以实现定时的作用。还有就是参考下面高手的帖子了:http://topic.csdn.net/t/20050119/20/3739171.html
      

  2.   

    重新启动一个线程作为定时线程, 用Sleep控制时间, 
      

  3.   

    建议lz最后使用 计时器内核对象,用Sleep的话 肯定需要一个循环,这样就会盲等,浪费cpu
      

  4.   

    建议lz最后使用 计时器内核对象,用Sleep的话 肯定需要一个循环,这样就会盲等,浪费cpu
    ========================================================================================
    调用Sleep时,意思是建议Windows系统内核最少令当前线程休眠n毫秒。
    Windows内核会从当前线程切换出去,不存在所谓忙等待浪费cpu的问题
      

  5.   

    实际上,使用内核同步对象比使用简单的Sleep慢,内核同步对象需要操作系统切换到内核态进行一系列操作,然后再切换回用户态.相比之下,Sleep快一些,快在CPU指令级.肉眼就不用了.反正我看不出来.
      

  6.   

    使用 CreateEvent 创建事件, 然后调用 WaitForSingleObject 等待来达到定时器的效果,精度为毫秒级。