Namespaces
Variants

std::counting_semaphore<LeastMaxValue>:: release

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
void release ( std:: ptrdiff_t update = 1 ) ;
(depuis C++20)

Incrémente atomiquement le compteur interne de la valeur de update . Tout thread en attente que le compteur soit supérieur à 0 , par exemple parce qu'il était bloqué dans acquire , sera ensuite débloqué.

Cette opération se produit fortement avant les invocations de try_acquire qui observent le résultat des effets.

Table des matières

Préconditions

Les deux conditions update >= 0 et update <= max ( ) - counter sont true , où counter est la valeur du compteur interne.

Paramètres

update - la valeur d'incrémentation du compteur interne

Exceptions

Peut lever std::system_error .

Voir aussi

décrémente le compteur interne ou bloque jusqu'à ce qu'il puisse
(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)
tente de décrémenter le compteur interne, en bloquant jusqu'à un instant donné
(fonction membre publique)