CS

[CS]busy-waiting

programmer-faust 2025. 8. 28. 04:03
  • 순서
    1. busy-waiting이란?
    2. busy-waiting의 특징
    3. busy-waiting과 대기 방식 비교
  • busy-waiting이란?
    1. 스레드가 원하는 조건이 될 때까지 CPU를 계속 사용하면서 반복적으로 확인하는 상태
    2. 루프 안에서 계속 기다리면서 CPU를 소모하는 대기
    3. 락이 해제되기를 기다리면서 계속 반복 검사할 때 발생
  • busy-waiting의 특징
    1. CPU 사용률 증가: 조건을 만족할 때까지 CPU를 계속 점유 => 다른 작업 방해 가능
    2. 간단하지만 비효율적임: 락을 얻을 때까지 반복 확인만 하므로 CPU가 낭비됨
    3. 실시간/저지연 환경에서 유용할 수 있음: 짧은 시간 안에 락이 풀릴 것이 확실할 때, 컨텍스트 스위칭 오버헤드 없이 바로 잡기 위해 사용
  • 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