std::counting_semaphore<LeastMaxValue>::release
Von cppreference.com
< cpp | thread | counting semaphore
| void release( std::ptrdiff_t update = 1 ); |
(seit C++20) | |
Inkrementiert atomar den internen Zähler um den Wert von update. Jeder Thread, der darauf wartet, dass der Zähler größer als 0 wird (z. B. weil er in acquire blockiert ist), wird anschließend entsperrt.
Diese Operation geschieht stark vor den Aufrufen von try_acquire, die das Ergebnis der Effekte beobachten.
Inhalt |
[bearbeiten] Vorbedingungen
Sowohl update >= 0 als auch update <= max() - counter sind true, wobei counter der Wert des internen Zählers ist.
[bearbeiten] Parameter
| update | - | der Betrag, um den der interne Zähler erhöht werden soll |
[bearbeiten] Ausnahmen
Kann std::system_error auslösen.
[bearbeiten] Siehe auch
| dekrementiert den internen Zähler oder blockiert, bis dies möglich ist (public member function) | |
| versucht, den internen Zähler zu dekrementieren, ohne zu blockieren (public member function) | |
| versucht, den internen Zähler zu dekrementieren, blockiert für eine Dauer von bis zu time (public member function) | |
| versucht, den internen Zähler zu dekrementieren, blockiert bis zu einem Zeitpunkt (public member function) |