質問:バックグラウンドでタイマーをどのようにチェックしますか?つまり、タイマースレッドを作成するスレッドは、時計が刻々と過ぎている間も他のことを行うことができます。
試行:-_beginthreadex()の使用->競合状態があるようです
class Timer{
...
static unsigned __stdcall tick(void *param){
while(1){
Timer::timer++;
Sleep(Timer::timer*1000);
}
return 1;
}
}
.....
HANDLE time_thread = (HANDLE) _beginthreadex(0, 0, &Timer::tick,0,0,NULL);
...
//test for 20 seconds
//want to do something while the clock is not 20 seconds
//the mainthread here still has to receive input
//What is the proper way to do it?
while (Timer::getTime() != 20){
cout << Timer::getTime()
}
CloseHandle(time_thread);
...
注:Iamは11ではなくVisual Studio 2008を使用しているため、C++11はサポートされていません。