Lab 02: Event Loop Advanced
Step 1: libuv Event Loop Phase Architecture
┌──────────────────────────┐
│ timers │ ← setTimeout / setInterval callbacks
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ pending callbacks │ ← I/O callbacks deferred from prev tick
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ idle / prepare │ ← internal use only
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ poll │ ← retrieve I/O events, run I/O callbacks
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ check │ ← setImmediate callbacks
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ close callbacks │ ← socket.on('close'), etc.
└──────────────────────────┘Step 2: Phase Ordering Verification
Step 3: Nested nextTick Starvation
Step 4: setImmediate vs setTimeout in I/O Context
Step 5: async_hooks — Tracking Async Context
Step 6: AsyncLocalStorage for Request Context
Step 7: Event Loop Blocking Detection
Step 8: Capstone — Microtask Queue Visualizer
Summary
Queue / Phase
Priority
Use Case
Last updated
