std::counting_semaphore<LeastMaxValue>:: release
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Operations | ||||
|
counting_semaphore::release
|
||||
| Constants | ||||
|
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) |