Встречается на собеседованиях • сегодня
Вернется ли 2000 при наличии двух потоков, увеличивающих volatile переменную равную 0
Нет, результат не гарантирован из-за race condition. volatile обеспечивает видимость изменений между потоками, но не атомарность операций.
Пример:
java
private volatile int counter = 0;
void increment() {
counter++; // Не атомарная операция (read-increment-write)
}При двух потоках возможен сценарий:
- Оба потока читают counter=0
- Оба инкрементируют до 1
- Оба записывают 1
Итог может быть меньше 2000. Для атомарности используйте AtomicInteger или synchronized.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы