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 Lock,
class Rep,
class Period
>
bool wait_for(
Lock& Lck,
const chrono::duration<Rep,
Period>& Rel_time
);
template<
class Lock,
class Rep,
class Period,
class Predicate
>
bool wait_for(
Lock& Lck,
const chrono::duration<Rep,
Period>& Rel_time,
Predicate Pred
);
Parameter
Lck
Ein mutex-Objekt eines beliebigen Typs.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_any-Objekt wird durch einen Aufruf notify_one oder zu notify_all signalisiert, oder bis das Zeitintervall Rel_time verstrichen ist.Er kann auch unecht aufwachen.
Die zweite Methode verhält sich praktisch 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