12강 Lock 구현 이론
문제 상황
화장실에 이미 사람이 있다면?
해결 1 - 다 끝나고 나올때까지 존버하기
- 단점 : 시간 낭비
- CPU 점유율이 확 올라가버릴 수도 있다
- = 스핀락의 개념
해결 2 - 조금 후 돌아오기 (다른일 하다가)
- 단점 : 확실히 내가 들어갈 수 있는지에 랜덤성이 있다 (다른 사람이 또 들어갈수도)
- 작업을 옮겨 다니는 것에도 부담이 든다
- 장점 : 효율적이긴 함
- = 스레드 의 소유권을 포기하는 방식
해결 3 - 직원에게 나오면 알려달라고 하기
- 단점 : 직원을 거쳐서 하다보니 부담이 든다 (이러한 방식의 사람이 많다면)
- 장점 : 기다릴 필요도 없고 효율적이다
- = 이벤트 방식