Event Loop
Es un mecanismo que permite a un programa manejar múltiples tareas de forma concurrente sin necesidad de crear múltiples hilos de ejecución.
El ciclo de eventos comienza cuando empieza el programa, sigue registrando todos los eventos que encuentra en el camino y continua con el código normalmente (sincronicamente). Mientras, va encolando los eventos asincronicos a la cola. Toma un evento de la cola, lo ejecuta y vuelve a la ejecución normal.
Pasos
-
Inicio del Programa Cuando se ejecuta un programa, el Event Loop comienza su ejecución.
-
Registro de Eventos El programa registra eventos y tareas asíncronas para ser procesadas posteriormente. Estos eventos pueden ser acciones del usuario (como clics de ratón o pulsaciones de teclas), operaciones de red, temporizadores, etc.
-
Ejecución Sincrónica:
el Event Loop comienza procesando las tareas sincrónicas en el orden en que aparecen en el código. Estas tareas se ejecutan de manera secuencial y bloquean el hilo de ejecución. -
Cola de Eventos Mientras se ejecutan las tareas sincrónicas, el Event Loop monitorea constantemente una cola de eventos en espera. Cuando se completa una tarea asíncrona, su correspondiente evento se coloca en esta cola.
-
Procesamiento de Evento Una vez que se completa la ejecución de las tareas sincrónicas, el Event Loop comienza a procesar los eventos en la cola. Cada evento se maneja de manera secuencial y se ejecuta su correspondiente manejador de eventos (callback).
-
Finalización del Ciclo Una vez que se han procesado todos los eventos en la cola, el Event Loop vuelve al paso 3 y continúa este ciclo indefinidamente mientras el programa esté en ejecución.