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.
Both update >= 0
and update <= max() - counter
are true
, where counter
is the value of the internal counter.
update | - | the amount to increment the internal counter by |
May throw std::system_error
.
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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/counting_semaphore/release