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

Чем важна потокобезопасность

Потокобезопасность гарантирует корректную работу кода при одновременном доступе из нескольких потоков. Без неё возможны race conditions, повреждение данных и недетерминированное поведение.

Пример проблемы:

java
class Counter {
    private int count = 0;
    
    public void increment() {
        count++; // Не потокобезопасно!
    }
}

Решение:

java
class SafeCounter {
    private AtomicInteger count = new AtomicInteger(0);
    
    public void increment() {
        count.incrementAndGet(); // Потокобезопасно
    }
}

Основные способы обеспечения:

  • Использование потокобезопасных классов (ConcurrentHashMap, AtomicInteger)
  • Синхронизация (synchronized, ReentrantLock)
  • Иммутабельность (final поля)
  • Thread-local переменные (ThreadLocal)

Важно: избыточная синхронизация снижает производительность.

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

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

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

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