728x90
스핀락 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
'조금만 기다리면 바로 쓸 수 있는데 굳이 Context Switching으로 부하를 줄 필요가 있나?'라는 컨셉으로 개발된 것
스핀락(spinlock)은 임계 구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락
스핀락이라는 이름은 락을 획득할 때까지 해당 스레드가 빙빙 돌고 있다(spinning)는 것을 의미한다.
하지만, 만약 어떤 스레드가 Lock을 오랫동안 유지한다면 오히려 CPU 시간을 많이 소모할 가능성 있음
스핀락보다 뮤텍스를 쓰는 것이 좋음.
728x90
'CS > 운영체제' 카테고리의 다른 글
Atomic 메모리 모델 (2) | 2023.11.22 |
---|---|
데드락(Deadlock)과 해결방법 (0) | 2023.11.22 |
쓰레드를 많이 만들면? (1) | 2023.11.22 |
컨텍스트 스위칭 (0) | 2023.11.20 |
페이지 폴트(Page Fault) (2) | 2023.11.20 |