인프런 커뮤니티 질문&답변
상호 배제란?
해결된 질문
작성
·
523
답변 1
3
Rookiss
지식공유자
여러가지 용어가 혼용되는 경향이 있긴 한데요.
정확히 말하면 Mutual Exclusion (상호 배제)는 단순히
공유 데이터에 대해 동시 접근을 막는 것을 의미합니다.
상호배제를 구현하기 위한 방법은 여러가지가 있을 수 있습니다.
그리고 상호배제를 구현할 때 임계 구역에 접근하지 못한 쓰레드를 어떻게 처리 할지? 가 핵심 고민인데
SpinLock에서는 그냥 루프를 돌면서 재시도 하는 것에 불과하고
여전히 1번에 1쓰레드 접근은 변함이 없습니다.
일반 Lock은 상호배제를 원칙으로 하니 SpinLock도 상호배제에 해당합니다.
(물론 Reader-Writer Lock의 Reader Lock은 상호배제가 아닌 다른 특성을 갖고 있습니다.)






Mutual Exclusion이 좁은 의미, 넓은 의미로 각각 쓰이는 것 같네요. 설명 감사드립니다!