Volatile 키워드를 사용하는 이유는?
- 멀티 스레드 환경에서 변수의 visibility를 보장하기 위해서 사용한다.
멀티 스레드 환경에서 어플리케이션의 정상적인 동작을 보장하기 위해서는 2가지 요소가 필요하다.
1. Mutual Exclusion - 한 스레드만이 임계영역에서 실행된다.
2. Visibility - 한 스레드가 공유 데이터를 변경한 경우, 일관성을 유지하기 위해 다른 스레드에서도 변경된 데이터가 보인다.
volatile 키워드를 사용하게 될 경우, mutula exclusion없이 두번째 요소인 visibility를 쉽게 보장할 수 있다.
참고문서
반응형
'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 |