1

WindowsのSleep(ms)コマンドにより、スレッドはタイムスライスを解放しています。スレッドを停止するがタイムスライスを解放しない同等のSleep(ms)コマンドはありますか?

4

2 に答える 2

4

スレッドをスリープ状態 (サスペンド) にしたくない場合は、スレッドを停止させたいと考えています。単純なループでそれを行います:

#include <time.h>

void stall(unsigned ms){
    clock_t goal = clock()+ms;
    while(goal>clock());
}
// or maybe higher resolution with some performance profiling functions...
于 2011-04-16T14:10:46.087 に答える
1

変。

これを行う方法は、必要な期間が終了するまでスレッドにループを実行させることです。

より良い解決策は、デバイスを処理するスレッドに高い優先度を与えることです。とにかく、Windows はリアルタイム システムにはあまり適していません...

于 2011-04-16T14:12:39.283 に答える