Назад к вопросам
СБЕР
Senior
5
Что такое классы Atomic и для чего они нужны?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Классы Atomic в Java — это классы из пакета java.util.concurrent.atomic, которые предоставляют операции над переменными с гарантией атомарности без использования блокировок.
Они нужны для безопасного изменения значений в многопоточной среде, позволяя избежать состояния гонки и обеспечивая корректность данных при конкурентном доступе.
Примеры таких классов:
- AtomicInteger
- AtomicLong
- AtomicReference<T>
Пример использования AtomicInteger:
import java.util.concurrent.atomic.AtomicInteger;
public class Counter {
private AtomicInteger count = new AtomicInteger(0);
public void increment() {
count.incrementAndGet();
}
public int getCount() {
return count.get();
}
}
Здесь incrementAndGet() — атомарная операция увеличения значения, которая гарантирует, что даже при одновременном вызове из разных потоков значение не потеряется.