settimer
{
工作
}UINT WINAPI ....
{
while(1)
{
工作sleep(1000)
}
}
有区别吗!

解决方案 »

  1.   

    当然有区别了。SetTimer()是每隔一个固定时间系统向线程的消息队列发送一个WM_TIMER消息,处不处理、怎样处理都看调用者本身了,所以有可能产生消息堆积,即上一条消息没处理完,下一条消息就来了;
    而while循环却做不到精确计时(相对SetTimer来说),且处理必须是一个接一个的
      

  2.   

    回答有理:Ontime里面不能有很长的代码,为了保证执行完,SetTimer(xx,NO)中xx要足够大
      

  3.   

    SetTimer()是每隔一个固定时间系统向线程的消息队列发送一个WM_TIMER消息,处不处理、怎样处理都看调用者本身了,所以有可能产生消息堆积,即上一条消息没处理完,下一条消息就来了;
    而while循环却做不到精确计时(相对SetTimer来说),且处理必须是一个接一个的,说的很清楚