2.3 KiB
2.3 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 |
|
2026-04-20 |
Blocking
📌 한 줄 통찰 (The Karpathy Summary)
"멈춰버린 흐름: 특정 작업이 완료될 때까지 나머지 모든 프로세스가 진행되지 못하도록 막아버리는 동기식 처리 방식으로, 자원 활용의 효율성을 떨어뜨리는 병목의 주원인."
📖 구조화된 지식 (Synthesized Content)
블로킹(Blocking)은 작업이 완료될 때까지 제어권을 반환하지 않아 호출한 쪽이 다른 일을 하지 못하고 기다리게 만드는 현상입니다.
- 동작 원리:
- A라는 함수가 B라는 I/O 작업(파일 읽기, 네트워크 요청)을 호출함.
- B가 끝날 때까지 A는 멈춰 있음. (CPU는 놀고 있는데 작업은 진행 안 됨)
- Non-blocking과의 대비:
- Non-blocking은 일단 일을 맡기고 바로 제어권을 돌려받아 다른 일을 하다가, 나중에 작업 완료 통보를 받는 방식임.
- 시스템적 영향:
- 사용자 인터페이스(UI)에서 블로킹이 발생하면 화면이 멈추는(Freezing) 현상이 일어남.
- 서버에서 블로킹이 잦으면 동시 접속자 처리가 급격히 느려짐. (Scalability 저하)
⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- 과거 데이터와의 충돌: 과거의 순차적 프로그래밍 정책은 블로킹을 당연한 것으로 여겼으나, 현대의 고성능 시스템 정책은 모든 I/O를 비동기/논블로킹(Async/Wait) 정책으로 처리하여 응답성을 극대화함(RL Update).
- 정책 변화(RL Update): 대규모 언어 모델 추론 정책에서, 토큰 생성이 끝날 때까지 기다리지 않고 생성되는 즉시 화면에 뿌려주는 '스트리밍(Streaming) 정책'이 블로킹에 의한 사용자 경험 저하를 막는 핵심 설계 원칙이 됨.
🔗 지식 연결 (Graph)
- Bottlenecks, Technical-Architecture, Optimization, Availability-and-Persistence, Scalability
- Modern Tech/Tools: Async/Await, Node.js (Event Loop), Promise patterns.