当SetTime()每隔一秒触发一次这个程序,
但是响应行数Ontime()在一秒钟内,并没有执行完成,它会进行下一次触发吗?为什么?

解决方案 »

  1.   

    如果OnTimer的处理不是用子线程来处理,那么下一个定时不会准时触发。所以定时器不一定会准啊。
      

  2.   

    会触发,,当然会产生一个WM_TIMER添加到消息队列去。。如果太快,会造成消息堵塞。
      

  3.   

    ontimer实际上是中断,如果频繁的中断容易挂起主界面~~
      

  4.   

    最简单的方法 就是自己写个检验代码测试下不就知道了。
    比如:
    ontime()
    里面Sleep(2000);每执行一下 i++
    当然SETTIMER()也是执行一次j++
    最后比较i和J 不就知道了。
    没使过,觉得应该不麻烦吧
      

  5.   

    当SetTime()每隔一秒触发一次这个程序,
    但是响应行数Ontime()在一秒钟内,并没有执行完成,它会进行下一次触发吗?
    我的理解是:Ontime()做完本次任务,会再等1秒钟再次进入Ontime()中。原因是:Ontime()没有处理完之前,触发的ontime消息会被抛弃。
      

  6.   

    学习了,我一直以为不会触发。原来是会触发的。只是有不准的时候。
    不过这也进一步说明,对于ONTIME来说,程序是以多线程的方式进行处理的。