메모리 가시성 (Memory Visiblity)1. 정의- Thread에서 변경한 특정 메모리 값이, 다른 Thread에서 제대로 읽어지는가 라고 할 수 있다 2. 문제- cpu의 메모리 아키텍쳐. 즉, 레지스터와 캐쉬가 존재하기 때문이다. : 각각의 코어는 메인 메모리와 별도로 각각의 레지스터와 캐쉬를 가지기 때문이다.- 컴파일러의 최적화: 컴파일러는 프로그램이 최대한 빠르게 실행될 수 있도록 코어의 레지스터와 캐쉬를 사용하도록 한다. 3. 결론- Shared Memory 모델의 Concurrent, Parallel Programming에서는, 한 코어에서의 값 변경을 여러 코어가 공유하는 메인 메모리로 반영하는 작업을 적절히 수행해야 메모리 가시성을 유지할 수 있다 메모리 장벽 Memory Barri..