Встречается на собеседованиях • сегодня
Какие знаешь инструменты синхронизации параллельного кода
В Java основные инструменты синхронизации:
- synchronized - ключевое слово для блоков и методов:
java
public synchronized void increment() {
count++;
}- Lock интерфейсы (
ReentrantLock,ReadWriteLock):
java
Lock lock = new ReentrantLock();
lock.lock();
try {
// critical section
} finally {
lock.unlock();
}- Atomic классы (
AtomicInteger,AtomicReference):
java
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet();- Semaphore - ограничивает количество потоков:
java
Semaphore sem = new Semaphore(3);
sem.acquire();
// доступ к ресурсу
sem.release();-
CountDownLatch и CyclicBarrier - для координации потоков.
-
Concurrent коллекции (
ConcurrentHashMap,CopyOnWriteArrayList).
Выбор зависит от сценария: для простых случаев - synchronized/atomic, для сложных - Lock/Semaphore, для коллекций - Concurrent реализации.

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