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

Является ли инкремент атомарной операцией

Нет, инкремент (++) в Java не является атомарной операцией. Он состоит из трёх шагов: чтение значения, увеличение на 1, запись нового значения. В многопоточной среде это может привести к race condition.

Пример:

java
private int counter = 0;

public void unsafeIncrement() {
    counter++; // Не атомарно!
}

Для атомарного инкремента используйте AtomicInteger:

java
private AtomicInteger counter = new AtomicInteger(0);

public void safeIncrement() {
    counter.incrementAndGet(); // Атомарно
}

В однопоточной среде инкремент безопасен, но в многопоточной требуется синхронизация или атомарные классы.

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

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

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

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