Scroll to navigation

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

NAME

std::counting_semaphore::try_acquire - std::counting_semaphore::try_acquire

Synopsis


bool try_acquire() noexcept; (since C++20)


Tries to atomically decrement the internal counter by 1 if it is greater than 0; no
blocking occurs regardless.

Return value


true if it decremented the internal counter, otherwise false.

Notes


Implementations are allowed to fail to decrement the counter even if it was greater
than 0 - i.e., they are allowed to spuriously fail and return false.

See also


release increments the internal counter and unblocks acquirers
(public member function)
acquire decrements the internal counter or blocks until it can
(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