EnterCriticalSection 시, 유저모드와 커널모드간 전환이 일어난다.
그런데 만약, 이미 다른 스레드가 공유자원을 가지고 있다는 판단에
커널모드로 전환되는 와중에, 공유자원이 접근 가능하게 되었다면
이는 큰 CPU 낭비로 이어질 수 있다.
때문에, CriticalSection 사용시 일정카운트동안은 스핀락처럼
공유자원 획득을 시도하도록 설정 할 수 있다.
CRITICAL_SECTION CS;
InitializeCriticalSection(&CS);
SetCriticalSectionSpinCount(&CS, 4000);
//4000 번 공유자원 획득을 시도하고, 이후에도 실패한다면, 커널모드로 제어를 전환한다.(블로킹 된다.)