Встречается на собеседованиях • сегодня
Является ли реализация volatile long счетчика потокобезопасной, счетчик инкрементируется из разных потоков параллельно
Нет, volatile long не обеспечивает потокобезопасность для инкремента. volatile гарантирует видимость изменений между потоками, но не атомарность составных операций (чтение-изменение-запись).
Для потокобезопасного инкремента используйте:
AtomicLongLongAdder(высокая производительность при высокой конкуренции)
Пример:
java
AtomicLong counter = new AtomicLong(0);
counter.incrementAndGet(); // атомарный инкрементИли с LongAdder:
java
LongAdder adder = new LongAdder();
adder.increment(); // оптимизирован для частых обновлений
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы