Cianplan

Nivel 0: Orientación y prerrequisitos · L0.2 Fundamentos de sistema operativo y hardware para arquitectos

I/O asíncrono y el event loop

Explicar por qué el I/O no bloqueante deja que un hilo atienda muchas conexiones.

12 min · Gratis

Lo que te llevas

  • Una llamada bloqueante estaciona todo su hilo hasta que llega la respuesta; una llamada no bloqueante regresa de inmediato y el sistema operativo avisa cuando los datos están listos.
  • Un event loop puede sostener decenas de miles de conexiones en espera, porque esperar cuesta unos cientos de bytes en lugar de una pila de hilo de ~1 MB.
  • Lo asíncrono sube el throughput del trabajo limitado por I/O. No hace más rápida ninguna petición individual.
  • Un solo cálculo pesado de CPU en el loop detiene todas las conexiones que tiene: el único modo de falla fatal del loop.

Cómo está armada la clase

  1. El problema
  2. La versión simple
  3. Cómo un hilo atiende diez mil conexiones
  4. Comprueba lo que entendiste