std::counting_semaphore::release - cppreference.com (original) (raw)

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.

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

[edit] Preconditions

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

[edit] Parameters

update - the amount to increment the internal counter by

[edit] Exceptions

May throw std::system_error.

[edit] See also

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