다른 명령
새 문서: 분류: 동시성 프로그래밍 == 개요 == Spin lock은 Starvation문제가 발생한다. 이 문제를 해결하기 위해서 SpinLock의 lock value가 스스로의 owner value와 같을때까지 실행을 멈추는 Lock 구현방식이다. 마치 레스토랑에서 순서를 정하는 티켓을 배정받고 순서대로 레스토랑에 입장하는 것과 같다고 볼 수 있다. == 장단점 == === 장점 === * spin lock에 비하여 fair하다 === 단점 ===... |
(차이 없음)
|
2023년 2월 4일 (토) 04:41 기준 최신판
개요
Spin lock은 Starvation문제가 발생한다. 이 문제를 해결하기 위해서 SpinLock의 lock value가 스스로의 owner value와 같을때까지 실행을 멈추는 Lock 구현방식이다. 마치 레스토랑에서 순서를 정하는 티켓을 배정받고 순서대로 레스토랑에 입장하는 것과 같다고 볼 수 있다.
장단점
장점
- spin lock에 비하여 fair하다
단점
- spin lock과 마찬가지로 Scalable하지 않다.
- 잦은 Cache line update로 performance down이 크다.
- spin lock에 더하여 추가적인 test and set 이 필요하다.