synchronize (1) 썸네일형 리스트형 [안드로이드] 동기화에 대하여 알아보자(2) - Synchronize, @Volatile 어제에 이어서 오늘은 이론적인 내용도 좋지만 실질적으로 프로그래밍 되는 방법을 몇 개 정리해보려고 한다. @Volatile 먼저 볼 것은 어노테이션의 한 종류인 Volatile이다. 이 어노테이션은 상수가 아닌 변수에만 사용 가능한 것으로서, 이게 붙으면 해당 변수는 캐시 메모리가 아닌 메인 메모리에서 직접 읽고/쓰기를 진행해야 하는 변수로 선언이 되는 것이다. 이런 어노테이션이 나온 이유는 singleton pattern에서 동기화 문제가 발생하기 때문이다. 만약 서로 다른 2개의 CPU에서 Singleton Pattern이며, 초기화 되어 있지 않은 특정 클래스의 Instance에 접근한다고 가정해보자. 해당 instance에 동시에 2개의 CPU가 동시에 접근을 할 것이며, 해당 instance를 .. 이전 1 다음