Spin Lock 이란?
Linux/Linux 일반 :
2011. 1. 13. 10:53
반응형
Spin Lock 은 이름이 뜻하는대로, 만약 다른 스레드가 lock을 소유하고 있다면 그 lock이 반환될 때까지 계속 확인하며 기다리는 것이다.
좀 더 자세한 설명은 영문 위키피디아를 참조하자.
http://en.wikipedia.org/wiki/Spinlock
Spin Lock 은 다음과 같은 특성을 갖는다.
- Lock을 얻을 수 없다면, 계속해서 Lock을 확인하며 얻을 때까지 기다린다. 이른바 바쁘게 기다리는 busy wating이다.
- 바쁘게 기다린다는 것은 무한 루프를 돌면서 최대한 다른 스레드에게 CPU를 양보하지 않는 것이다.
- Lock이 곧 사용가능해질 경우 컨택스트 스위치를 줄여 CPU의 부담을 덜어준다. 하지만, 만약 어떤 스레드가 Lock을 오랫동안 유지한다면 오히려 CPU 시간을 많이 소모할 가능성이 있다.
- 하나의 CPU나 하나의 코어만 있는 경우에는 유용하지 않다. 그 이유는 만약 다른 스레드가 Lock을 가지고 있고 그 스레드가 Lock을 풀어 주려면 싱글 CPU 시스템에서는 어차피 컨택스트 스위치가 일어나야하기 때문이다
좀 더 자세한 설명은 영문 위키피디아를 참조하자.
http://en.wikipedia.org/wiki/Spinlock
반응형
'Linux > Linux 일반' 카테고리의 다른 글
Proc filesystem 프로그래밍 (0) | 2011.01.13 |
---|---|
tftp 설정 (0) | 2010.08.07 |
Makefile 문법법 (1) | 2010.07.22 |