다중 스레드

    [Java] volatile 키워드

    특징 keyword로 Java 변수를 Main Memory에 직접 저장한다. 변수의 값을 Read 할 때마다 CPU Cache에 저장된 값이 아닌 Main Momory에서 직접 읽는다. 변수의 값을 Write할 때마다 Main Memory에 직접 작성한다. 필요성 멀티 스레드 환경에서 하나의 스레드가 Read&Write 하고 다른 스레드에서 Read 할 때, 해당 변수에 대한 최신 값을 보장한다. 예시 class Object { public int count = 0; } 위 Object를 공유하는 두 개의 스레드 A, B가 있다고 가정하자. 스레드 A는 count의 값을 읽고 1씩 증가시키는 연산(Read&Write)을 하고 스레드 B는 count를 읽는 연산만 수행한다(Read). A는 count값을 ..