最新の更新情報

2012年2月
« 1月    
 1234
567891011
12131415161718
19202122232425
26272829  

本ブログのURL

qrcode.png

雨雲の動き

お天気

 
 
吟遊詩人の戯言 内専用の記事検索...
 
 

Win32のSlepp()の時間


キーワード(クリックで関連記事が読めます) → ,

関連記事



 
 

一応,引数は,ミリ秒単位
Sleep()は指定された時間だけ,自スレッドを停止させ,別のスレッドに権限を引き渡す,ってやつ

んが

    Sleep(1);

って,書いても,1ミリ秒待っているわけでなく
最近のWindowsXP&PCの組み合わせでも,10~15ミリ秒ほど最低でもかかるそうな

むむむっ!

こちとら,処理時間30ミリ秒しか,時間もらってないのに
15ミリも持っていかれると,これは,つらい…

なんでも,内部のハードウエアカウンタの設定値の最小の値が,
このあたりの数字になっているそうで

でもまぁ,そこは,Win32
この最低値を変更するAPIを準備してあるそうで

それが,

    timeBeginPeriod()
    timeEndPeriod()

だそうな.

timeBeginPeriod()で,最小値をセット
timeEndPeriod()でセットされた値を戻すとのこと

こちら辺りを確認していただければ

ただ,こやつを使うと,パソコン全体の,カウンタ値を書き換えることになるそうなので
ひょっとしたら,他のアプリへの影響も出るかも?だそうです

この書き換え,Windows Media Playerがやっているとのこと
実害は出てないので,たぶん,大丈夫かな?


スレッドの待機にSleep()使っているけど
これで,最小限の待機時間で他のスレッドの監視が出来るかな? :smile:

 
 
 
 

コメントを残す

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">