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

Что такое состояние гонки (Race condition)

Состояние гонки возникает, когда несколько потоков одновременно обращаются к общим данным, и результат выполнения зависит от порядка их выполнения. Это может привести к непредсказуемому поведению программы.

Пример:

java
class Counter {
    private int count = 0;
    
    public void increment() {
        count++; // Не атомарная операция!
    }
    
    public int getCount() {
        return count;
    }
}

Если два потока одновременно вызовут increment(), возможна потеря обновлений, так как count++ - это не атомарная операция (читает, увеличивает, записывает). Для защиты используйте synchronized или атомарные типы (AtomicInteger).

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

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

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

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