난 정말 최고야 멋있어
Data Memory Barrier 본문
https://en.wikipedia.org/wiki/Memory_barrier
Processor #1:
while (f == 0); // Memory fence required here
print x;
Processor #2:
x = 42; // Memory fence required here
f = 1;
x,f 가 0으로 초기화 된 이후 메모리 배리어가 없다면 프로세서1에서 x의 값이 42를 항상 출력함을 보장할 수 없다
컴파일러나 CPU 마음대로 바뀔 수 있다.. 그래서 실행순서를 강제하기 위해서 메모리 배리어가 필요하다!
머 대충 로우레벨의 크리티컬 섹션,뮤텍스,락.. 이런 거라고 생각하면 되겠다