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