Junior — Middle
86
Java-да AtomicInteger класының жұмыс істеу принципін түсіндіріңіз және ол қалай көп ағынды қауіпсіздікке кепілдік береді.
Сұралған компаниялар
eRaga Infosystem
AI-дан жауап
sobes.tech AI
Класс AtomicInteger в Java предоставляет целочисленное значение, операции над которым являются атомарными, то есть выполняются полностью или не выполняются вовсе, без прерывания другими потоками. Это обеспечивает безопасное управление состоянием в многопоточной среде без использования явной синхронизации.
Основные методы AtomicInteger, такие как incrementAndGet(), decrementAndGet(), compareAndSet(), используют низкоуровневые атомарные инструкции процессора (например, CAS — compare-and-swap), что позволяет избежать гонок данных.
Пример использования:
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();
}
}
В этом примере несколько потоков могут безопасно вызывать increment(), и значение count будет корректно увеличиваться без дополнительных блокировок.