보통 쓰는 방법
int LocalData = InterlockedIncrement(&Data);
이때 여기서 로컬로 데이터를 받지않고 Data를 그대로 로직에 사용한다면,
멀티스레딩 환경에서 안전한가요?
안전하지못하다면 왜 그런것일까요?
제 생각엔 인터락연산 자체가 CPU에서 atomic을 보장해주는 것이므로, 인터락 연산중에는
다른 코어가 해당 데이터에 접근이 불가능할 것이고
인터락연산이 끝난다음에는 그 즉시 캐시무효화를 선언하므로 데이터가 틀어질일은 없을거같은데...
뭔가 놓치고있는 부분이있을까요?