본문 바로가기

JAVA

Volatile Java

Volatile 키워드를 사용하는 이유는?

- 멀티 스레드 환경에서 변수의 visibility를 보장하기 위해서 사용한다.

 

멀티 스레드 환경에서 어플리케이션의 정상적인 동작을 보장하기 위해서는 2가지 요소가 필요하다.

1. Mutual Exclusion - 한 스레드만이 임계영역에서 실행된다.

2. Visibility - 한 스레드가 공유 데이터를 변경한 경우, 일관성을 유지하기 위해 다른 스레드에서도 변경된 데이터가 보인다.

volatile 키워드를 사용하게 될 경우, mutula exclusion없이 두번째 요소인 visibility를 쉽게 보장할 수 있다. 

 

참고문서

https://www.baeldung.com/java-volatile

반응형

'JAVA' 카테고리의 다른 글

Adapter Pattern 과 SLF4J  (0) 2021.08.27
Log4j 알아보기  (0) 2021.08.16
Java 익명 클래스와 람다 표현식의 다른 점  (0) 2021.07.13
LinkedHashMap 알아보기  (0) 2020.12.11
Java String + 연산에 대한 이해  (0) 2020.11.21