Scroll to navigation

std::counting_semaphore::release(3) C++ Standard Libary std::counting_semaphore::release(3)

NAME

std::counting_semaphore::release - std::counting_semaphore::release

Synopsis


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.

See also


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

2024.06.10 http://cppreference.com