Sleep()以外の、cでウインドウで使用できるより良いスリープ関数を知っている人がいるのだろうかと疑問に思っていました。これは、ミリ秒の入力を受け取り、入力が最小時間経過したことを保証します。私は1ミリ秒で渡していますが、実際には15-16ミリ秒の遅延があります。特定のスリープ時間を正確に設定する方法はありますか?Windowsのcでスリープ機能。より精度の高い関数が存在するか?
3
A
答えて
2
いいえ、実際はありません。プログラムをスリープ状態にすると、プロセッサを放棄し、オペレーティングシステムが次に何をするかを決定させます。オペレーティングシステムが制御されると、プログラムに別の処理時間を与えるタイミングを決定します。このため、最低限を指定することができますが、特定の時点でOSがプロセスに戻るという保証はありません。
1
0
いいえ、ミリ秒は利用可能な粒度であるため、Windowsではより良いスリープ機能はありません。より少ない時間スリープ状態にしたい場合は、種類のスピンロックを実装する必要があります。
1
睡眠は、あなたのプロセスが正確Nミリ秒スリープすること、少なくとものnミリ秒のためではありません実行されないことが保証されます。タイマーを設定したいのですか?またはビジーウェイト(ループ内のQueryPerformanceCounterをポーリング)
私はこのアプローチ(ビジーウェイト)を回避しようと思いますが、しかし、あなたはサイクルを燃やしているために、あなたは低いクロック速度に置かれてから、CPUを停止している(つまり、燃焼電池寿命)
関連する問題
- 1. 機能CORR(倍精度、倍精度)が存在しない - のPostgresSQL
- 2. より精度の高いファイルに数値を書く - C++
- 3. GGMAPより高い精度を得る
- 4. C#高精度タイミング
- 5. C++プロファイリング/最適化:最適化された関数で精度の高いプロファイリング精度を得る方法
- 6. CPP WINDOWS:マイクロ秒単位でスリープ機能がありますか?
- 7. Rubyの平方根はBigDecimal.sqrtより精度が高いですか?
- 8. C++のスリープ関数
- 9. C++:デフォルトよりも精度の高いファイルにダブルスを書き込む
- 10. iOS上の高精度乱数
- 11. MySQLの緯度と経度が高精度である
- 12. より速い数学アルゴリズムが精度を犠牲にする
- 13. クロスプラットフォームC++のスリープ関数
- 14. 高精度ジオロケーションHtml5
- 15. windows C++とマイクロ秒スリープの可能性
- 16. javaのスリープが機能しない
- 17. アンドロイドプログラムのスリープ機能
- 18. GLES2シェーダからの高精度出力
- 19. 精度が低下する可能性はありますか?
- 20. 浮動小数点数の精度を高める
- 21. Pythonでクロスプラットフォームの高精度時間
- 22. 最低の共通倍数がCで倍精度になる
- 23. PHPでsubstr()のように機能するC++関数
- 24. Cの倍精度の精度で有効数字50桁が正しく表示されない
- 25. IEEEの単精度と倍精度で表される総数
- 26. 精度の高いオラクルで分割して挿入する
- 27. はpostgres - オペレータが存在しません:倍精度~~不明
- 28. Haskellの高精度浮動小数点数は?
- 29. 文字列から整数へのハッシュ関数の精度
- 30. 範囲の縮小単精度浮動小数点の精度が悪い
を持っていない限り、あなたは最低限の保証を望んでいると言いますが、あなたの例では実際に保証された正確な時間(または保証された最大値)がほしいと思うように聞こえます。 –
sleep()関数は18msごとにのみ起動します –
関連するhttp://stackoverflow.com/questions/85122/sleep-less-than-one-millisecondを参照してください – harpo