You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
21 Hrs
57 Min
0 Seg

Loop de eventos

25/30
Resources

Contributions 4

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

La programación orientada a eventos se puede comparar con la organización de una fiesta. En una fiesta, los anfitriones definen las reglas básicas, como la hora de inicio y fin, la ubicación, el tipo de vestimenta, etc. Una vez que la fiesta comienza, los invitados llegan y empiezan a interactuar entre sí, cada uno haciendo sus propias cosas. Si algo interesante sucede, como una canción que les gusta a todos o alguien quiere hacer un brindis, los anfitriones pueden tomar medidas para aprovechar el momento y hacer que la fiesta sea más interesante.

De manera similar, en la programación orientada a eventos, el código define reglas básicas y espera a que ocurran eventos. Cuando se produce un evento, se activa una parte específica del código, llamada “manejador de eventos”, que procesa el evento y realiza la acción correspondiente.

Por otro lado, el bucle de eventos se puede comparar con un asistente personal. Imagine que tiene un asistente personal que maneja su agenda y le notifica cuándo tiene una reunión o una cita. El asistente siempre está en espera, observando su agenda y esperando que se produzca un evento (una reunión, una cita, etc.). Cuando se produce un evento, el asistente le avisa y le ayuda a prepararse para la reunión o la cita.

Cuando recién comencé a aprender a programar, el event loop era una de las cosas que más me costaba entender.

Muy buena esta explicación

event loop en esp32
.
.

### **El Concepto del Event Loop en Programación de Bajo Nivel** Cuando desarrollamos sistemas a bajo nivel que necesitan reaccionar a eventos impredecibles, es fundamental comprender el concepto de **programación orientada a eventos**. #### **Ejemplo de un Evento Impredecible** Imaginemos que nos conectamos a una red Wi-Fi. Desde que iniciamos la conexión hasta que recibimos la confirmación, puede pasar un tiempo desconocido, e incluso, la conexión podría no concretarse nunca. Dado que estos eventos no pueden predecirse con exactitud, es necesario implementar un **sistema de eventos**, el cual organiza y gestiona estas situaciones. ### **¿Qué es el Event Loop?** El **Event Loop** es una estrategia utilizada en diferentes sistemas para manejar eventos de forma ordenada y eficiente. Se encarga de esperar continuamente la llegada de eventos y procesarlos en el orden en que se reciben. Ejemplos de eventos en diferentes sistemas: * **Páginas web**: No sabemos en qué momento el usuario hará clic o tocará la pantalla. * **Redes Wi-Fi**: No podemos predecir cuándo un dispositivo se conectará o desconectará. * **Servidores**: No sabemos en qué momento un cliente realizará una solicitud de información. Para gestionar estos eventos, el **Event Loop** opera de la siguiente manera: 1. **Un emisor genera un evento**, que puede ser de distintos tipos: * **"Nueva conexión"** (ejemplo: un dispositivo se conecta a Wi-Fi). * **"Desconexión"** (ejemplo: un usuario abandona la página web). * **"Clic"** (ejemplo: un usuario presiona un botón en la interfaz). * **"Petición al servidor"** (ejemplo: un navegador solicita una página web). 2. **El evento contiene información relevante**, como qué dispositivo se desconectó o qué usuario hizo la solicitud. 3. **El evento se agrega a la "cola de eventos"**, una estructura FIFO (**First In, First Out**, es decir, "primero en entrar, primero en salir"). 4. **El Event Loop revisa la cola de eventos** y, uno por uno, los envía al **manejador de eventos adecuado**. 5. **El manejador procesa el evento** y ejecuta la acción correspondiente. ### **Ventajas del Event Loop** * Permite desarrollar aplicaciones **asíncronas**, es decir, que pueden responder a eventos sin bloquear otras operaciones. * Organiza el flujo de trabajo de manera más estructurada. * Es una técnica ampliamente utilizada en diversos lenguajes de programación. En el caso del **ESP32**, el SDK oficial incorpora un **Event Loop**, asegurando una gestión eficiente de los eventos en este entorno de desarrollo.