CPU//mutex//event loop

A single-threaded concurrency model — one core runs a loop that dispatches callbacks when I/O operations complete.


A single-threaded concurrency model — one core runs a loop that dispatches callbacks when I/O operations complete.

Avoids mutex contention entirely.

JavaScript (Node.js, browsers), Python asyncio, and Rust's tokio all use this pattern.

Non-blocking I/O calls (epoll, kqueue, IOCP) register interest, and the loop multiplexes thousands of concurrent connections without spawning threads.

Ideal for I/O-bound workloads — CPU-bound tasks block the loop and must be offloaded.