std::counting_semaphore<LeastMaxValue>::try_acquire_until
De cppreference.com
< cpp | thread | counting semaphore
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.
Contenido |
[editar] Precondiciones
Clock
cumple con los requerimientos de Clock.
[editar] Parámetros
abs_time | - | El tiempo más temprano hasta el cual la función debe esperar para fallar. |
[editar] Valor de retorno
true si disminuyó el contador interno, de lo contrario false.
[editar] Excepciones
Puede lanzar std::system_error o una excepción relacionada con el tiempo de espera.
[editar] 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.