私はいくつかのものを作る別のスレッドで自分のプロジェクトを持っています。C++スレッドとしてスレッドを使用
これは大丈夫ですが、20msごとにいくつかの関数を使用したいと思いますが、関数に費やされた時間を考慮して...私は関数を呼び出し、関数を費やしました6msは終了するので、私はスレッドが14ms(20 - 6)をスリープ状態にすることを望むので、次回の呼び出しでは、関数は12msを費やしたので、スリープはわずか8msになります.... どうすればいいですか? ここに私のコードです:
// thread constructor
DWORD dwThreadId, dwThrdParam = 1;
HANDLE thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)workerFunc, &dwThrdParam, 0, &dwThreadId);
// thread function
DWORD WINAPI workerFunc(LPDWORD lpdwParam)
{
while(true)
{
myFunction();
Sleep(???);
}
return 0;
}
ありがとう!
iは、その後、20眠るそれらを引く、あまりにもGETのシステム時間を戻した後は、getシステム時刻を入力する前に考える - 結果を。それはあなたがどれだけ待つべきかを計算する時間を失うので近似になります。 –