1. 경쟁 감지
read + write
여러 코어의 갱신이 겹쳐 공유 값이 깨질 수 있다.
다중 코어의 상호 배제는 읽기와 쓰기를 한 사건으로 묶어 승자 하나를 정한 뒤, 패자가 기다릴 비용을 스핀과 수면 중에서 선택하는 문제다.
여러 코어의 갱신이 겹쳐 공유 값이 깨질 수 있다.
비교와 교체를 한 사건으로 묶어 한 스레드만 들인다.
곧 풀릴 락이면 문맥 교환 비용보다 반복 확인이 싸다.
대기가 길면 스레드를 재워 CPU를 다른 작업에 넘긴다.
선택 기준 · 인터럽트 차단은 단일 CPU 커널의 매우 짧은 구간에만 유효하다. 멀티코어에서는 원자적 명령이 필수이고, 예상 임계구역 길이가 대기 정책을 정한다.