잡으려는 lock이 avaliable 해 질 때 까지 계속 루프를 돌며 진입을 재시도한다.
이른바 바쁘게 기다리는 busy waiting의 한 종류이다.
lock을 잡기 위해 다른 작업을 수행하지 않고 계속해서 기다리는 경우
Peterson's Algorithm
flag
: critical section에 들어갈 준비가 되었는지turn
: 누가 critical section에 들어갈 차례인지문제점
Disabling Interrupts
문제점
Test-And-Set
Atomic instruction
을 제공. 하나의 명령어로 수행.Compare-And-Swap
Atomic instruction
을 제공. 하나의 명령어로 수행