0
我需要爲我的項目等待一段時間的代碼構造,但是當有中斷(例如傳入的udp數據包)時,它會離開此循環,執行某些操作,然後重新啓動等待。
我該如何實現?我的第一個想法是使用while(wait(2000))
,但等待是一個無效的構造...
謝謝!等待中斷循環
我需要爲我的項目等待一段時間的代碼構造,但是當有中斷(例如傳入的udp數據包)時,它會離開此循環,執行某些操作,然後重新啓動等待。
我該如何實現?我的第一個想法是使用while(wait(2000))
,但等待是一個無效的構造...
謝謝!等待中斷循環
我會把循環函數內部
void awesomeFunction() {
bool loop = true;
while (loop) {
wait(2000);
...
...
if (conditionMet)
loop = false;
}
}
然後我會把這個功能的另一個循環
while (programRunning) {
awesomeFunction();
/* Loop ended, do stuff... */
}
內,但後來我總是等待2000毫秒,然後我的病情會檢查。如果我的情況在1000到1500毫秒的時間內完成填寫,那麼您的循環將永遠不會退出... –
那麼,再次閱讀您的問題讓我覺得您可以通過使用民意調查方式獲益更多。我不確定C++在這個問題上提供了什麼,但是c有一個叫做select的小函數:http://manpages.courier-mta.org/htmlman2/select.2.html –