JAVA] volatile 키워드


JAVA] volatile 키워드

Java volatile이란? volatile keyword는 Java 변수를 Main Memory에 저장하겠다라는 것을 명시하는 것입니다. 매번 변수의 값을 Read할 때마다 CPU cache에 저장된 값이 아닌 Main Memory에서 읽는 것입니다. 또한 변수의 값을 Write할 때마다 Main Memory에 까지 작성하는 것입니다. 왜(Why) 필요할까요? volatile 변수를 사용하고 있지 않는 MultiThread 어플리케이션에서는 Task를 수행하는 동안 성능 향상을 위해 Main Memory에서 읽은 변수 값을 CPU Cache에 저장하게 됩니다. 만약에 Multi Thread환경에서 Thread가 변수 값을 읽어올 때 각각의 CPU Cache에 저장된 값이 다르기 때문에 변수 값 불일치 문제가 발생하게 됩니..........



원문링크 : JAVA] volatile 키워드