- 순서
- busy-waiting이란?
- busy-waiting의 특징
- busy-waiting과 대기 방식 비교
- busy-waiting이란?
- 스레드가 원하는 조건이 될 때까지 CPU를 계속 사용하면서 반복적으로 확인하는 상태
- 루프 안에서 계속 기다리면서 CPU를 소모하는 대기
- 락이 해제되기를 기다리면서 계속 반복 검사할 때 발생
- busy-waiting의 특징
- CPU 사용률 증가: 조건을 만족할 때까지 CPU를 계속 점유 => 다른 작업 방해 가능
- 간단하지만 비효율적임: 락을 얻을 때까지 반복 확인만 하므로 CPU가 낭비됨
- 실시간/저지연 환경에서 유용할 수 있음: 짧은 시간 안에 락이 풀릴 것이 확실할 때, 컨텍스트 스위칭 오버헤드 없이 바로 잡기 위해 사용
- busy-waiting과 대기방식 비교
| 비교 방식 | CPU 점유 | 컨텍스트 스위칭 | 특징 |
| busy-waiting | 계속 점유 | 없음 | 간단하지만 비효율적 |
| Spinlock | 계속 점유 | 없음 | 안전하게 락 구현, 짧은 임계영역 적합 |
| Yielding Polling | 점유 일부 | 일부 | CPU 점유 줄임, 응답 조금 느림 |
| 비동기 이벤트 | 없음 | OS 관리 | CPU 효율적, 비동기 처리 가능 |
'CS' 카테고리의 다른 글
| [CS]리틀 엔디안과 빅 엔디안 (1) | 2025.08.28 |
|---|---|
| [CS]스택 오버 플로우 (2) | 2025.08.28 |
| [CS]임계영역과 데드락 (0) | 2025.08.28 |
| [CS] 컨텍스트 스위칭 (1) | 2025.08.28 |
| [CS] 캐시의 지역성 (0) | 2025.08.28 |