컴퓨터공학
[Computer Science] 스핀락(spinlock)의 정의와 사용 이유
책 읽는 개발자_테드
2021. 9. 13. 23:43
반응형
스핀락이란?
· 임계구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락
· 임계구역(공유변수 영역): 둘 이상의 스레드가 동시에 접근해서는 안되는 공유자원을 접근하는 코드의 일부
스핀락의 사용 이유
· 임계구역에 짧은 시간 안에 진입할 수 있는 경우 context-switching을 제거할 수 있어 효율적이다.
- 운영 체제의 스케줄링 지원을 받지 않기 때문에 해당 스레드에 대한 context-switching이 일어나지 않음
- But, 만약 스핀락에 오랜 시간을 소요한다면 다른 스레드를 실행하지 못하고 대기하게 되어 비효율적인 결과를 가져옴
출처
반응형