AtomicInteger — 원자적으로 갱신되는 정수 값
AtomicInteger — 원자적으로 갱신되는 정수 값
원자적으로 갱신될 수 있는 int 값을 나타내는 클래스예요.
본문
시그니처
public class AtomicInteger extends Number
implements Serializable
구현된 인터페이스: Serializable.
설명
원자적으로 갱신될 수 있는 int 값이에요. 원자 접근의 속성 설명은 VarHandle 사양을 참고하세요. AtomicInteger는 원자적으로 증가되는 카운터 같은 애플리케이션에서 사용되며, Integer의 대체품으로 사용할 수 없어요. 그러나 숫자 기반 클래스를 다루는 도구와 유틸리티가 균일하게 접근할 수 있도록 이 클래스는 Number를 확장해요.
메모리 일관성 속성: 생성자에 전달된 초기 값(기본 0)이나 지정된 기존 값에서 시작해, 다른 동시성 유틸리티처럼 원자 변수에 대한 후속 get/set 연산은 변수의 초기 값 쓰기와 이후의 모든 쓰기에 대한 happens-before 관계를 유지해요.
주요 메서드
get()— 현재 값을 반환해요.set(int newValue)— 값을 지정한 값으로 설정해요.getAndAdd(int delta)— 두 번째 인자로 지정한 값만큼 현재 값에 원자적으로 더하고 이전 값을 반환해요.addAndGet(int delta)— 지정한 값을 현재 값에 원자적으로 더하고 갱신된 값을 반환해요.getAndIncrement()/getAndDecrement()— 현재 값을 원자적으로 1씩 증가/감소시키고 이전 값을 반환해요.incrementAndGet()/decrementAndGet()— 현재 값을 원자적으로 1씩 증가/감소시키고 갱신된 값을 반환해요.compareAndSet(int expectedValue, int newValue)— 현재 값이expectedValue와 같으면 값을newValue로 원자적으로 설정해요.accumulateAndGet(int x, IntBinaryOperator accumulatorFunction)— 현재 값과 주어진 값에 주어진 함수를 적용한 결과로 현재 값을 원자적으로 갱신하고 갱신된 값을 반환해요.getAndUpdate(IntUnaryOperator updateFunction)— 주어진 함수를 적용한 결과로 현재 값을 원자적으로 갱신하고 이전 값을 반환해요.intValue()— 이AtomicInteger의 값을int로 반환해요.