AtomicInteger — 원자적으로 갱신되는 정수 값

AtomicInteger — 원자적으로 갱신되는 정수 값

원자적으로 갱신될 수 있는 int 값을 나타내는 클래스예요.

출처: Java API Reference

본문

시그니처

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로 반환해요.

더 알아보기 (Learn more)