Встречается на собеседованиях • сегодня

Какие классы использовал в синхронизации потоков

В Java для синхронизации потоков используются следующие ключевые классы и механизмы:

  1. synchronized (блоки или методы) – базовый механизм мониторов:
java
synchronized (lockObject) {
    // критическая секция
}
  1. ReentrantLock – более гибкая альтернатива synchronized с возможностью:
    • честного распределения (fairness)
    • проверки блокировки (tryLock())
    • прерываемого ожидания (lockInterruptibly())
  1. Semaphore – ограничивает количество потоков, которые могут получить доступ к ресурсу:
java
Semaphore sem = new Semaphore(3);
sem.acquire();
// доступ к ресурсу
sem.release();
  1. CountDownLatch – позволяет потокам ждать завершения операций в других потоках

  2. CyclicBarrier – синхронизирует группу потоков в определенной точке

  3. Phaser – более гибкая версия CyclicBarrier с динамическим числом участников

  4. Exchanger – позволяет двум потокам обмениваться данными в точке встречи

Для работы с атомарными операциями используются классы из пакета java.util.concurrent.atomic (AtomicInteger, AtomicReference и др.)

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы