std::counting_semaphore<LeastMaxValue>::release

From cppreference.com
 
 
Concurrency support library
Threads
(C++11)
(C++20)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Free functions for atomic operations
Free functions for atomic flags
Memory ordering
Mutual exclusion
(C++11)
Generic lock management
(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)
 
 
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, will subsequently be unblocked.

Preconditions

Both update >= 0 and update <= max() - counter are true, where counter is the value of the internal counter.

Parameters

update - the amount to increment the internal counter by

Exceptions

May throw std::system_error.