Sobes.tech
Назад к вопросам
Junior — Middle
65

Какие операции и возможности предоставляет класс AtomicInteger в Java?

Компании, где спрашивали
Альфа-БанкАльфа-Банк

Ответ от нейросети

sobes.tech AI

Класс AtomicInteger в Java предоставляет атомарные операции над целочисленным значением, что позволяет безопасно изменять число в многопоточной среде без использования синхронизации (synchronized). Основные возможности:

  • Получение текущего значения (get()).
  • Установка нового значения (set(int newValue)).
  • Атомарное сравнение и установка (compareAndSet(expectedValue, newValue)).
  • Инкремент и декремент с возвратом нового или старого значения (incrementAndGet(), getAndIncrement(), decrementAndGet(), getAndDecrement()).
  • Добавление значения с возвратом нового или старого значения (addAndGet(int delta), getAndAdd(int delta)).

Пример использования:

import java.util.concurrent.atomic.AtomicInteger;

AtomicInteger counter = new AtomicInteger(0);

// Увеличиваем значение на 1 и получаем новое значение
int newValue = counter.incrementAndGet();

// Атомарно сравниваем и устанавливаем
boolean updated = counter.compareAndSet(1, 10);