(thread 1)                 (thread 2)

while(x==0){}            y = 10 ;

print y;                      x = 1;

 

이 코드는 메모리 배리어가 없어서 의도하지 않는 동작을 실행하게 된다고해서

 

 __asm mfence랑 volatile 이 필요하다는데

 

의도하지 않은 동작이란게 뭘 말하는 거고  volatile랑 mfence 넣어서 어떻게 해결한다는 거야? ㅠ