Jay's Blog

Java Atomic Access
Java에서 Atomic하다는게 무엇인가..

일반적으로 우리는 여러 용어를 혼용해 사용한다.

자바에서 Synchronized 키워드가 사용된 블록은

synchronized 블록을 사용할 경우 앞서 언급한 3가지 점이 모두 해결된 상태를 얻을 수 있다.



Atomic?

a++ 등과 같은 오퍼레이션은 atomic action이 아니다. 복잡한 오퍼레이션이다.

그렇다면 자바에서 아무런 키워드 없이 atomic action인 경우는 무엇인가?



atomic action의 특징

간단한 atomic 변수 접근을 사용하면 synchronized 키워드를 사용하는 것보다 훨씬 효율적이다.

다만, CPU 캐시 등에 저장되어서 최신 변수 상태를 가져오지 못하는 문제에 대해서는 주의가 필요하다.

출처: https://docs.oracle.com/javase/tutorial/essential/concurrency/aatomic.html

*****
Written by Jay on 09 December 2020