Files
2nd/10_Wiki/Topics_Blog/Blocking.md
T

2.2 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
P-REINFORCE-AUTO-BLOC-002 10_Wiki/💡 Topics/AI 0.94
auto-reinforced
blocking
synchronous
computation
resource-management
efficiency
2026-04-20

Blocking

📌 한 줄 통찰 (The Karpathy Summary)

"멈춰버린 흐름: 특정 작업이 완료될 때까지 나머지 모든 프로세스가 진행되지 못하도록 막아버리는 동기식 처리 방식으로, 자원 활용의 효율성을 떨어뜨리는 병목의 주원인."

📖 구조화된 지식 (Synthesized Content)

블로킹(Blocking)은 작업이 완료될 때까지 제어권을 반환하지 않아 호출한 쪽이 다른 일을 하지 못하고 기다리게 만드는 현상입니다.

  1. 동작 원리:
    • A라는 함수가 B라는 I/O 작업(파일 읽기, 네트워크 요청)을 호출함.
    • B가 끝날 때까지 A는 멈춰 있음. (CPU는 놀고 있는데 작업은 진행 안 됨)
  2. Non-blocking과의 대비:
    • Non-blocking은 일단 일을 맡기고 바로 제어권을 돌려받아 다른 일을 하다가, 나중에 작업 완료 통보를 받는 방식임.
  3. 시스템적 영향:
    • 사용자 인터페이스(UI)에서 블로킹이 발생하면 화면이 멈추는(Freezing) 현상이 일어남.
    • 서버에서 블로킹이 잦으면 동시 접속자 처리가 급격히 느려짐. (Scalability 저하)

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 과거의 순차적 프로그래밍 정책은 블로킹을 당연한 것으로 여겼으나, 현대의 고성능 시스템 정책은 모든 I/O를 비동기/논블로킹(Async/Wait) 정책으로 처리하여 응답성을 극대화함(RL Update).
  • 정책 변화(RL Update): 대규모 언어 모델 추론 정책에서, 토큰 생성이 끝날 때까지 기다리지 않고 생성되는 즉시 화면에 뿌려주는 '스트리밍(Streaming) 정책'이 블로킹에 의한 사용자 경험 저하를 막는 핵심 설계 원칙이 됨.

🔗 지식 연결 (Graph)