Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Blockiert einen Thread und legt einen maximalen Zeitpunkt fest, an dem der Thread die Blockierung aufgehoben wird.
template<
class Clock,
class Duration
>
cv_status wait_until(
unique_lock<mutex>& Lck,
const chrono::time_point<Clock,
Duration>& Abs_time
);
template<
class Clock,
class Duration,
class Predicate
>
bool wait_until(
unique_lock<mutex>& Lck,
const chrono::time_point<Clock,
Duration>& Abs_time,
Predicate Pred
);
cv_status wait_until(
unique_lock<mutex>& Lck,
const xtime *Abs_time
);
template<class Predicate>
bool wait_until(
unique_lock<mutex>& Lck,
const xtime *Abs_time,
Predicate Pred
);
Parameter
Lck
Ein unique_lock<mutex>-Objekt.Abs_time
Ein chrono::time_point-Objekt.Pred
Ein beliebiger Ausdruck, der true oder false zurückgibt.
Rückgabewert
Methoden, die eine cv_status-Typrückgabe cv_status::timeout zurückgeben, wenn dabei endet, wenn Abs_time ab.Andernfalls geben die Methoden cv_status::no_timeout zurück.
Methoden, die eine bool Rückgabe der Wert von Pred zurückgeben.
Hinweise
Die ersten Methodenblöcke bis das condition_variable-Objekt wird durch einen Aufruf notify_one oder zu notify_all oder bis Abs_time signalisiert.Er kann auch unecht aufwachen.
Die zweite Methode führt für den folgenden Code aus.
while(!Pred())
if(wait_until(Lck, Abs_time) == cv_status::timeout)
return Pred();
return true;
Im dritten und vierten Methoden verwenden einen Zeiger auf ein Objekt des Typs xtime, um das chrono::time_point-Objekt zu ersetzen.Das Objekt xtime gibt die maximale Dauer auf, um ein Signal zu warten.
Anforderungen
Header: condition_variable
Namespace: std