Java의 원자적 연산
여러 스레드가 동일한 변수에 동시에 액세스하고 쓸 때 멀티스레딩 중에 변수의 값이 일관되지 않을 수 있습니다. 데이터 무결성을 유지하기 위해 Java는 특정 작업의 불가분성을 보장하는 원자적 작업을 제공합니다. 작업이 중단되지 않고 완료되는 것처럼 보이면 원자성 작업입니다.
Java의 원자성 작업
Java의 다음 작업은 원자성으로 간주됩니다.
제한 사항
원자성은 가시성을 의미하지 않는다는 점에 유의하는 것이 중요합니다. 부분적으로 작성된 int 변수는 다른 스레드에 표시되지 않는 것이 보장되지만 새 값은 즉시 표시되지 않을 수 있습니다.
공통 CPU의 64비트 값
64비트 아키텍처를 사용하는 CPU에서는 long 및 double 변수에 대한 작업도 일반적으로 원자적입니다. 그러나 이는 JVM 사양에서 보장되지 않습니다. 보다 정확한 원자성 제어를 위해서는 java.concurrent.atomic 패키지의 AtomicLong 또는 AtomicDouble 클래스를 사용하는 것이 좋습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3