タイマー関数とマルチスレッドについて
こんばんわ。
マルチスレッドプログラミングを行なっています。
コンパイラはVC++.NETでC言語を利用しwin32 apiを用いています。
スレッドを_beginthreadex関数でスレッドを2つ生成し、WaitForSingleObject,SetEvent,ResetEvent関数によるイベント同期を利用し、2スレッドの同期をはかっています。
[質問内容]
以下のように、スレッド2でWaitForSingleObject関数にてスレッド2を待機状態にし、スレッド1のSetEvent関数にて待機しているスレッド2を再開させる方法をとっています。
例えば、タイマーをスタート後に待機状態になり、スレッド2が再開後タイマーストップするとした場合、スレッド2が待機状態のときもタイマーを動き続けているのでしょうか?
・スレッド1
SetEvent(hEvent[0]);
・スレッド2
SUSPEND_INTERVAL=20
if(Num%THREAD_SUSPEND_INTERVAL==0){
timestart=timeGetTime();←タイマースタート
WaitForSingleObject(hEvent[0],INFINITE);
ResetEvent(hEvent[0]);
timestop=timeGetTime();←タイマーストップ
}
よろしくお願いします。
補足
有難うございます。 実は下記の条件で プログラム処理をしたいです。 (1)出題文章どおりにIPさせてその時間を測る。 (2)出題通りのIPでなければ先には進めない。 (3)10問完了した時点の分秒をタイマー表記。 昔ベーシックでは可能でした。 Excelの IF 関数でプログラム 出来そうなんですが?? 識者様教えて頂けませんでしょうか?