処理のタイムアウトを実現しようとして、専用のスレッドで経過時間をチェックしてるのですが、SetTimer()でタイマーを使うと、1msごとに設定しても1msより全然長い間隔で入るみたいです。
しかし、250msごとに設定すると250msに近い間隔で入ってくるみたいです。
これはタイマの分解能によるものだと思うのですが、実際に必要なチェックは1秒ごとで十分だと思うので、1秒ごとに設定しようかと思うのですが、1秒ごとならだいたい正しい時間が得られるでしょうか?
チック割り込みだと結局だんだんズレていくはずだと思うのですが、何かMSDNライブラリを見るとちゃんとCMOS時計を参照してズレを修正するとか何とか書いてあるのですが、これは本当なのでしょうか?
タイマーはやめてGetLocalTime()でチェックした方がいいのでしょうか?
後、このような事をする場合の注意点は、スレッドの優先順位を下げる、という他にあるでしょうか?