on msdn http://msdn.microsoft.com/en-us/library/windows/desktop/ms684208(v=vs.85).aspx, MemoryBarrier는 xchg 호출로 구현됩니다.MemoryBarrier를 xchg 호출로 구현할 수있는 이유는 무엇입니까?
// x86
FORCEINLINE
VOID
MemoryBarrier (
VOID
)
{
LONG Barrier;
__asm {
xchg Barrier, eax
}
}
"소프트웨어 개발자 안내서"에서 자료를 찾을 수 없습니다. 이유를 말씀해주십시오.
메모리 피연산자가있는'xchg'에는 암시적인'lock'이 있습니다. 잠긴 지침은 울타리입니다. – harold