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 ein Zeitintervall fest, nachdem hebt der Thread die Blockierung.
template<
class Rep,
class Period
>
cv_status wait_for(
unique_lock<mutex>& Lck,
const chrono::duration<Rep,
Period>& Rel_time
);
template<
class Rep,
class Period,
class Predicate
>
bool wait_for(
unique_lock<mutex>& Lck,
const chrono::duration<Rep,
Period>& Rel_time,
PredicatePred
);
Parameter
Lck
Ein unique_lock<mutex>-Objekt.Rel_time
Ein chrono::duration-Objekt, das die Dauer angibt, bevor der Thread aufwacht.Pred
Ein beliebiger Ausdruck, der true oder false zurückgibt.
Rückgabewert
Die erste Methode gibt cv_status::timeout zurück, wenn der Wartevorgang wird beendet, wenn Rel_time verstrichen ist.Andernfalls gibt diese Methode cv_status::no_timeout zurück.
Die zweite Methode gibt den Wert aus Pred zurück.
Hinweise
Die ersten Methodenblöcke bis das condition_variable-Objekt wird durch einen Aufruf notify_one signalisiert, oder notify_all oder bis das Zeitintervall Rel_time verstrichen ist.Er kann auch unecht aufwachen.
Die zweite Methode führt für den folgenden Code aus.
while(!Pred())
if(wait_for(Lck, Rel_time) == cv_status::timeout)
return Pred();
return true;
Anforderungen
Header: condition_variable
Namespace: std