Namespaces
Variants

std::counting_semaphore<LeastMaxValue>:: try_acquire_until

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
template < class Clock, class Duration >
bool try_acquire_until ( const std:: chrono :: time_point < Clock, Duration > & abs_time ) ;
(desde C++20)

Intenta decrementar 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 decrementar exitosamente el contador interno, o hasta que se haya superado el punto de tiempo abs_time .

El programa está mal formado si std:: chrono :: is_clock_v < Clock > es false .

Contenidos

Precondiciones

Clock cumple con los Clock requisitos.

Parámetros

abs_time - el tiempo más temprano que la función debe esperar hasta para poder fallar

Valor de retorno

true si decrementó 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 que abs_time en fallar.

Véase también

incrementa el contador interno y desbloquea los adquirentes
(función miembro pública)
decrementa el contador interno o se bloquea hasta que sea posible
(función miembro pública)
intenta decrementar el contador interno sin bloquearse
(función miembro pública)
intenta decrementar el contador interno, bloqueándose hasta por un tiempo de duración
(función miembro pública)