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 ) ;
(depuis C++20)

Tente de décrémenter atomiquement le compteur interne de 1 s'il est supérieur à 0 ; sinon se bloque jusqu'à ce qu'il soit supérieur à 0 et puisse décrémenter avec succès le compteur interne, ou que le point temporel abs_time ait été dépassé.

Le programme est mal formé si std:: chrono :: is_clock_v < Clock > est false .

Table des matières

Préconditions

Clock satisfait aux exigences Clock .

Paramètres

abs_time - le premier délai auquel la fonction doit attendre avant d'échouer

Valeur de retour

true s'il a décrémenté le compteur interne, sinon false .

Exceptions

Peut lever std::system_error ou une exception liée au délai d'attente.

Notes

En pratique, la fonction peut prendre plus de temps que abs_time pour échouer.

Voir aussi

incrémente le compteur interne et débloque les acquéreurs
(fonction membre publique)
décrémente le compteur interne ou bloque jusqu'à ce que cela soit possible
(fonction membre publique)
tente de décrémenter le compteur interne sans bloquer
(fonction membre publique)
tente de décrémenter le compteur interne, en bloquant pendant une durée maximale
(fonction membre publique)