volatile
-
[Java Multithreading] 원자적 연산과 volatileJava/Multi Threading 기초 2022. 11. 10. 16:09
Java Multithreading 멀티스레딩의 개념과 Java에서의 활용법을 공부하고 정리하는 시리즈입니다. 오늘은 Java의 연산 중에서 원자성이 지켜지는 연산과 지켜지지 않는 연산을 알아보고, 비원자적 자원을 보호하는 키워드를 하나 알아보겠습니다. Java의 원자적 연산과 비원자적 연산 원자적 연산의 종류는 간단합니다. 레퍼런스의 쓰기 또는 읽기 원시타입의 쓰기 또는 읽기(double과 long 제외) 위에 적었듯이 레퍼런스를 할당하고 복사하는 모든 작업은 원자성이 보장됩니다. 원시타입 변수에 값을 쓰고 읽는 모든 작업도 마찬가지입니다. 간단하게 기억할 수 있겠죠. 그럼 예외적인 경우만 잘 다뤄보면 될 것 같은데요. 원시타입 중에서도 왜 long과 double만 제외 되는 걸까요? 32bit 안에서..