std::counting_semaphore<LeastMaxValue>::try_acquire_until
De cppreference.com
template<class Clock, class Duration>
bool try_acquire_until( const std::chrono::time_point<Clock, Duration>& abs_time );
|
(desde C++20) | |
Intenta disminuir atómicamente el contador interno en 1 si es mayor que 0; de lo contrario, se bloquea hasta que sea mayor que 0 y pueda disminuir con éxito el contador interno, o el punto de tiempo abs_time haya pasado.
El programa está mal formado si std::chrono::is_clock_v<Clock> es false.
Precondiciones
Clock cumple con los requerimientos de Clock.
Parámetros
| abs_time | - | El tiempo más temprano hasta el cual la función debe esperar para fallar. |
Valor de retorno
true si disminuyó el contador interno, de lo contrario false.
Excepciones
Puede lanzar std::system_error o una excepción relacionada con el tiempo de espera.
Notas
En la práctica, la función puede tardar más de abs_time en fallar.
Se permite que las implementaciones no disminuyan el contador incluso si fuera mayor que 0, es decir, se les permite fallar falsamente (spuriously) y devolver false.