본문 바로가기
컴퓨터공학

[Computer Science] 스핀락(spinlock)의 정의와 사용 이유

by 책 읽는 개발자_테드 2021. 9. 13.
반응형

스핀락이란?

· 임계구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락

· 임계구역(공유변수 영역): 둘 이상의 스레드가 동시에 접근해서는 안되는 공유자원을 접근하는 코드의 일부

 

스핀락의 사용 이유

· 임계구역에 짧은 시간 안에 진입할 수 있는 경우 context-switching을 제거할 수 있어 효율적이다.

   - 운영 체제의 스케줄링 지원을 받지 않기 때문에 해당 스레드에 대한 context-switching이 일어나지 않음

   - But, 만약 스핀락에 오랜 시간을 소요한다면 다른 스레드를 실행하지 못하고 대기하게 되어 비효율적인 결과를 가져옴

 

출처

https://ko.wikipedia.org/wiki/스핀락

반응형

댓글