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

Erhöht den internen Zähler atomar um den Wert von update . Alle Threads, die darauf warten, dass der Zähler größer als 0 wird, beispielsweise weil sie in acquire blockiert sind, werden anschließend freigegeben.

Dieser Vorgang findet stark vor Aufrufen von try_acquire statt, die das Ergebnis der Effekte beobachten.

Inhaltsverzeichnis

Vorbedingungen

Sowohl update >= 0 als auch update <= max ( ) - counter sind true , wobei counter den Wert des internen Zählers darstellt.

Parameter

update - der Betrag, um den der interne Zähler erhöht wird

Ausnahmen

Kann std::system_error werfen.

Siehe auch

dekrementiert den internen Zähler oder blockiert, bis dies möglich ist
(öffentliche Elementfunktion)
versucht, den internen Zähler ohne Blockierung zu dekrementieren
(öffentliche Elementfunktion)
versucht, den internen Zähler zu dekrementieren, blockiert für maximal eine Zeitdauer
(öffentliche Elementfunktion)
versucht, den internen Zähler zu dekrementieren, blockiert bis zu einem Zeitpunkt
(öffentliche Elementfunktion)