Semaphore — ограничивает количество потоков, одновременно обращающихся к ресурсу. Инициализируешь с N permits. acquire() — забирает permit (блокируется если нет), release() — возвращает. Пример: пул из 10 соединений — Semaphore(10), каждый поток acquire перед использованием. Binary semaphore (permits=1) — аналог mutex, но без ownership (любой поток может сделать release). Поддерживает fairness, tryAcquire с таймаутом. Проще чем Lock для задач ограничения конкурентности.
Что такое Semaphore в Java?
Senior
257 просмотровAFK Offer AI
Что такое warm-up период JVM и как он влияет на производительность?