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

Какие знаешь проблемы ключевого слова synchronized

synchronized может привести к нескольким проблемам:

  1. Блокировки (Deadlocks) – если несколько потоков захватывают мониторы в разном порядке.
  2. Производительность – из-за блокировки других потоков.
  3. Голодание (Starvation) – если один поток долго держит монитор.
  4. Нет гибкости – нельзя попробовать захватить монитор без блокировки (как tryLock в ReentrantLock).

Пример deadlock:

java
Object lock1 = new Object();
Object lock2 = new Object();

// Поток 1
synchronized (lock1) {
    synchronized (lock2) { ... }
}

// Поток 2
synchronized (lock2) {
    synchronized (lock1) { ... }
}

Альтернативы: ReentrantLock, StampedLock, ReadWriteLock.

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

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

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

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