Skip to content

I/O Multiplexing

A single thread can efficiently manage many I/O channels by waiting for any of them to become ready, enabling high concurrency without proportional thread overhead.

Tension Addressed

Simplicity vs. I/O Efficiency

Recognizable As

Event loops, reactor pattern, select/poll/epoll abstractions, "single-threaded but concurrent" architectures, connection scaling discussions

Canonical Sources

Stevens, "UNIX Network Programming"; Schmidt, "Reactor: An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events" (1995)

Transfers To

Web servers, game servers, GUI event systems, any system managing many simultaneous connections or event sources

This pattern enables the event-driven architectures that power modern high-concurrency systems.