: Attempts to atomically decrement counter
if it is positive,
is not decremented, there is no effect and
An implementation may fail to decrement counter
even if it is positive.
This spurious failure is normally uncommon, but
allows interesting implementations
based on a simple compare and exchange ([atomics]
— end note
An implementation should ensure that try_acquire
does not consistently return false
in the absence of contending semaphore operations.