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

Какую проблему не решает volatile

volatile решает проблему видимости изменений переменной между потоками, но не обеспечивает атомарность операций. Например, инкремент volatile int не будет атомарным, так как состоит из чтения, изменения и записи. Для атомарных операций нужны Atomic-классы или синхронизация.

Пример:

java
volatile int count = 0;

// Проблема: инкремент не атомарен
count++; // Может привести к race condition

Для исправления:

java
AtomicInteger atomicCount = new AtomicInteger(0);
atomicCount.incrementAndGet(); // Атомарная операция
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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