Есть ли способ выполнить операцию «декремент, если результат положительный или нулевой» с AtomicInteger
? Чтобы уточнить желаемое поведение:AtomicInteger: сохранить неотрицательный
- , если текущее значение больше нуля, уменьшаем
- , если текущее значение равно нулю, делать ничего
- (отрицательное значение тока не обрабатывается)
Я не вижу пути. Возможно, вы могли бы использовать 'java.util.concurrent.Semaphore'? Это всегда будет положительным, и вы можете уменьшить его с помощью 'приобретать()' или 'tryAcquire()'. – markspace