Countdown seit if true ist
-
Hallo alle,
ich habe folgendes Problem:
Wenn A nach 30 Sekunden noch wahr ist, soll eine Fehlermeldung ausgegeben werden. Währenddessen soll das Programm aber nicht anhalten, um den Countdown runterzuzählen.
Für Ideen bin ich dankbar

Grüße,
Joe
-
Währenddessen soll das Programm aber nicht anhalten, um den Countdown runterzuzählen.
-
std::mutex A_mutex; auto th = std::thread{[&A, &A_mutex]() { std::this_thread::sleep_for( std::chrono::seconds{30} ); std::lock_guard<std::mutex> lock_guard{A_mutex}; if( A ) /* Fehlermeldung */ }}; // Arbeiten ... th.join();Ungetestet
Und dann immer schön den mutex locken/unlocken, wenn du A veränderst.
A_mutex.lock(); A = ... A_mutex.unlock();Funktioniert natürlich mit Boost.Thread genauso.
Edit: Ah, hab den Mutex nicht fürs Lambda gecaptured.