Встречается на собеседованиях • сегодня
Какие классы использовал в синхронизации потоков
В Java для синхронизации потоков используются следующие ключевые классы и механизмы:
- synchronized (блоки или методы) – базовый механизм мониторов:
java
synchronized (lockObject) {
// критическая секция
}- ReentrantLock – более гибкая альтернатива synchronized с возможностью:
- честного распределения (fairness)
- проверки блокировки (tryLock())
- прерываемого ожидания (lockInterruptibly())
- Semaphore – ограничивает количество потоков, которые могут получить доступ к ресурсу:
java
Semaphore sem = new Semaphore(3);
sem.acquire();
// доступ к ресурсу
sem.release();-
CountDownLatch – позволяет потокам ждать завершения операций в других потоках
-
CyclicBarrier – синхронизирует группу потоков в определенной точке
-
Phaser – более гибкая версия CyclicBarrier с динамическим числом участников
-
Exchanger – позволяет двум потокам обмениваться данными в точке встречи
Для работы с атомарными операциями используются классы из пакета java.util.concurrent.atomic (AtomicInteger, AtomicReference и др.)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы