Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Blocca un thread e imposta un intervallo di tempo dopo di che il thread sblocca.
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
);
Parametri
Lck
Un oggetto mutex di qualsiasi tipo.Rel_time
Un oggetto chrono::duration che specifica la quantità di tempo prima che il thread per.Pred
Qualsiasi espressione che restituisca true o false.
Valore restituito
Il primo metodo restituisce cv_status::timeout se l'attesa termina quando Rel_time trascorso.In caso contrario, il metodo restituisce cv_status::no_timeout.
Il secondo metodo restituisce il valore Pred.
Note
I primi blocchi di metodo all'oggetto condition_variable_any viene segnalato da una chiamata a notify_one o a notify_all, o fino all'intervallo di tempo Rel_time trascorso.Può inoltre svegliare spurio.
Il secondo metodo in effetti esegue il codice seguente.
while(!Pred())
if(wait_for(Lck, Rel_time) == cv_status::timeout)
return Pred();
return true;
Requisiti
intestazione: condition_variable
Spazio dei nomi: deviazione standard