Встречается на собеседованиях • сегодня
Были ли проблемы с синхронизацией
Да, в Java есть несколько типичных проблем с синхронизацией:
- Race Condition - когда несколько потоков одновременно изменяют общие данные, результат зависит от порядка выполнения.
java
int counter = 0;
// Без synchronized возможны потери инкрементов
public synchronized void increment() { counter++; }- Deadlock - взаимная блокировка потоков, когда каждый ждет освобождения ресурса, занятого другим.
java
// Поток 1: synchronized(A) -> ждет B
// Поток 2: synchronized(B) -> ждет A-
Livelock - потоки постоянно меняют состояние, но не продвигаются в работе.
-
Starvation - некоторые потоки долго не получают доступа к ресурсу.
Для решения используют:
synchronizedметоды/блокиjava.util.concurrent(Lock, Semaphore и др.)- Атомарные классы (
AtomicIntegerи т.д.) - Неизменяемые объекты (immutable)

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