1
인터럽트 비활성화
가장 원시적인 방법입니다.
임계 영역 문제를 해결하려면, 한 번에 하나의 스레드만 진입을 보장하는 메커니즘이 필요합니다. 소프트웨어 알고리즘(Peterson's 등)으로도 가능하지만, 현대 CPU는 메모리 재정렬과 다코어 캐시 일관성 때문에 소프트웨어 방법만으로는 불충분합니다.
Test-and-Set (TAS)와 Compare-and-Swap를 중심으로 하드웨어 동기화와 뮤텍스의 판단 흐름을 읽습니다.
가장 원시적인 방법입니다.
현대 CPU는 여러 메모리 연산을 단일 하드웨어 명령어로 수행하는 원자적 명령어를 제공합니다.
스핀락(Spinlock)은 TAS로 구현하는 가장 단순한 동기화 방법입니다.
뮤텍스(Mutex, Mutual Exclusion Lock)는 스핀락의 바쁜 대기 문제를 해결합니다.