std::counting_semaphore<LeastMaxValue>::release

From cppreference.com
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
(C++11)
(C++17)
Generic lock management
(C++11)
(C++11)
(C++17)
(C++11)
(C++14)
(C++11)
(C++11)
(C++11)
(C++11) (C++11) (C++11) (C++11) (C++11) (C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
(C++26)
(C++26)
Hazard Pointers
(C++26)
Atomic types
(C++11)
(C++20)
(C++11)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
(C++11)
(C++11)
Free functions for atomic operations
Free functions for atomic flags
void release( std::ptrdiff_t update = 1 ) ;
(since C++20)

Atomically increments the internal counter by the value of update. Any thread(s) waiting for the counter to be greater than 0, such as due to being blocked in acquire

This operation strongly happens before invocations of try_acquire that observe the result of the effects.

Preconditions

Both update >= 0 and update <= max() - counter are true, where counter

Parameters

update - the amount to increment the internal counter by

Exceptions

May throw std::system_error.

See also

decrements the internal counter or blocks until it can
(public member function)
tries to decrement the internal counter without blocking
(public member function)
tries to decrement the internal counter, blocking for up to a duration time
(public member function)
tries to decrement the internal counter, blocking until a point in time
(public member function)