0
所以我的线程正在调用这个函数,我想这是因为无限循环,我得到100%的CPU使用率。使用100%CPU的线程
我只想让线程检查timeInSeconds> stoptimer(也许如果我可以检查例如每10秒而不是无限循环,CPU的问题将被消除)。
如果某些事件发生,startTime会被主程序复位,所以如果事件一段时间没有发生,基本上线程会停止我的主程序。
void foo(){
while(true){
clock_t endTime = clock();
clock_t clockTicksTaken = endTime - startTime;
double timeInSeconds = clockTicksTaken/(double) CLOCKS_PER_SEC;
if (timeInSeconds > stoptimer){
cout << timeInSeconds << " seconds passed, closed due to timeout." << "\n";
stop = 1;
break;
}
}
}
void foo(){cout <<“test1”; while(true){clock_t endTime = clock(); clock_t clockTicksTaken = endTime - startTime; double timeInSeconds = clockTicksTaken /(double)CLOCKS_PER_SEC; cout <<“test2”;如果(timeInSeconds> stoptimer){cout << timeInSeconds <<“秒传递,由于超时关闭。” <<“\ n”; stop = 1;打破; } cout <<“test3”;睡眠(5); }}在这种情况下,它不工作,我没有得到任何打印输出。 – gkatsarov