Namespaces
Variants

std::counting_semaphore<LeastMaxValue>:: try_acquire_for

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 Rep, class Period >
bool try_acquire_for ( const std:: chrono :: duration < Rep, Period > & rel_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 la durée rel_time ait été dépassée.

Table des matières

Préconditions

(aucun)

Paramètres

rel_time - la durée minimale que la fonction doit attendre pour é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 rel_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 jusqu'à un instant donné
(fonction membre publique)