Java 변수를 **메인 메모리에 저장하겠다라고 명시
**하는 것이다.
Read
**할 때마다 **CPU Cache에서 읽지 않고 메인 메모리에서 읽는 것
**이다.Write
**할 때마다 **메인 메모리에까지 작성하는 것
**이다.MultiThread 환경이라고 했을 때,
volatile 사용 X 변수 → 성능 향상을 위해 Main Memory에서 읽은 변수 값을 **CPU Cache에 잠시 저장
**한다.
**각각의 Thread
**가 변수 값을 읽어올 때 CPU Cache에 저장된 값이 다르기 때문에 변수 값 불일치 문제 발생
Multi Thread 환경이라고 했을 때,
**하나의 Thread만 read & write
**하고 나머지 Thread는 read만
하는 상황에서 가장 최신의 값 보장
위 설명처럼 여러 개의 Thread가 write가 가능한 상황에서는 적합하지 않다.