Espacios de nombres
Variantes
Acciones

std::counting_semaphore<LeastMaxValue>::try_acquire_until

De cppreference.com
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
(C++11)
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
(C++11)
Recuperación segura
(C++26)
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
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.