AbstractQueuedSynchronizer содержит внутреннее поле state. 0 и 1 зарезервированы для состояния - блокировки нет, и блокировка установлена. Зачем пользователю свой state заводить ? Например, в методе tryAcquire(int) или tryRelease(int).
PS а так же объясните в чем отличие tryRelease(int) и tryReleaseShared(int)
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники