Sobes.tech
Назад к вопросам
Senior
3

Что такое AtomicInteger, для чего используется и в чём преимущество?

Компании, где спрашивали
платформа офд

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

sobes.tech AI

AtomicInteger — это класс из пакета java.util.concurrent.atomic, который предоставляет атомарные операции над целочисленным значением. Он используется для безопасного изменения числовых значений в многопоточной среде без необходимости использовать синхронизацию через synchronized или блокировки.

Преимущество AtomicInteger в том, что он обеспечивает высокую производительность и безопасность при конкурентном доступе, используя низкоуровневые атомарные инструкции процессора.

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

import java.util.concurrent.atomic.AtomicInteger;

public class Counter {
    private AtomicInteger count = new AtomicInteger(0);

    public void increment() {
        count.incrementAndGet(); // атомарное увеличение на 1
    }

    public int getCount() {
        return count.get();
    }
}

В этом примере метод increment() безопасен для вызова из нескольких потоков одновременно без риска состояния гонки.