私はいくつかのものを作る別のスレッドで私のプロジェクトを持っています。
それはすべて大丈夫ですが、たとえば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;
}
ありがとう!