Main Memory에 저장하겠다라는 것을 명시매번 변수의 값을 Read할 때마다 CPU cache에 저장된 값이 아닌 Main Memory에서 읽는 것또한 변수의 값을 Write할 때마다 Main Memory에 까지 작성하는 것하나의 Thread가 write하고 나머지 Thread가 읽는 상황인 경우변수의 값이 최신의 값으로 읽어와야 하는 경우. Thread1에서 쓰고, Thread2에서 읽는 경우만 동시성을 보장Java volatile이란?volatile keyword는 Java 변수를 Main Memory에 저장하겠다라는 것을 명시하는 것입니다. 매번 변수의 값을 Read할 때마다 CPU cache에 저장된 값이 아닌 Main Memory에서 읽는 것입니다. 또한 변수의 값을 Write할 때마다 Main Memory에 까지 작성하는 것입니다. volatile 변수를 사용하고 있지 않는 MultiThread 어플리케이션에서는 Task를 수행하는 동안 성능 향상을 위해 Main Memory에서 읽은 변수 값을 CPU Cache에 저장하게 됩니다.https://nesoy.github.io/articles/2018-06/Java-volatile