Вопрос проверяет знание альтернативных способов синхронизации в Java.
ReentrantLock — гибкая блокировка с таймаутами.
Semaphore — ограничение доступа к ресурсу.
CountDownLatch — ожидание завершения N операций.
CyclicBarrier — синхронизация потоков в точке.
1. ReentrantLock:
Lock lock = new ReentrantLock();
lock.lock();
try {
// Критическая секция
} finally {
lock.unlock();
}2. Semaphore:
Semaphore sem = new Semaphore(3); // Макс 3 потока
sem.acquire();
try {
// Доступ к ресурсу
} finally {
sem.release();
}