Встречается на собеседованиях • сегодня
В чем проблема synchronized
synchronized обеспечивает потокобезопасность, но имеет несколько недостатков:
-
Производительность – блокировка всей монитора объекта или класса может создавать узкие места, особенно при высокой конкуренции.
-
Deadlocks – риск взаимоблокировки, если потоки захватывают несколько блокировок в разном порядке.
- Отсутствие гибкости – нельзя попробовать захватить блокировку с таймаутом или прервать ожидание.
Пример проблемы:
java
synchronized (lock1) {
synchronized (lock2) { // Риск deadlock, если другой поток возьмет lock2 -> lock1
// Критическая секция
}
}Альтернативы:
ReentrantLockс таймаутами и условиямиReadWriteLockдля разделения чтения/записи- Атомарные классы (
AtomicIntegerи др.) - Неблокирующие алгоритмы (CAS)

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