Event Loop
El event loop toma eventos de la cola de eventos y los despacha a callbacks de forma continua, logrando concurrencia de E/S no bloqueante en un solo hilo.
Propósito
Entender el modelo de concurrencia de JavaScript/Node.js y evitar bloquear el hilo principal.
Mecanismo
Bucle: 1) tomar un evento de la cola; 2) ejecutar su callback hasta completarlo; 3) tras vaciar la cola de microtareas, tomar el siguiente evento. Node.js usa libuv; los navegadores añaden fases de renderizado. La E/S asíncrona se delega al sistema para no bloquear el bucle.
Casos de uso
- Modelo de concurrencia
- Optimización de rendimiento
- E/S asíncrona