EventLoop: asíncrona por diseño

3/31
Recursos
Transcripción

Aportes 94

Preguntas 26

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Event Queue: Contiene todos los eventos que se generan por nuestro código (Funciones, peticiones, etc.), estos eventos quedan en una cola que van pasando uno a uno al Event Loop.

Event Loop: Se encarga de resolver los eventos ultra rápidos que llegan desde el Event Queue. En caso de no poder resolverse rápido, enviá el evento al Thread Pool.

Thread Pool: Se encarga de gestionar los eventos de forma asíncrona. Una vez terminado lo devuelve al Event Loop. El Event Loop vera si lo pasa a Event Queue o no.

EventLoop: asíncrona por diseño
Event loop: Un proceso con un ++bucle ++que gestiona, de forma asíncrona, todos los eventos de tu aplicación.

Dentro de node, una de las dependencias más importantes es libuv ya que es la que se encarga de gestionar los eventos en node.js.

<h4>Algunas de las funcionalidades de libuv son:</h4>
  • Bucle de eventos con todas las funciones necesarias.
  • Operaciones asincronas sobre archivos
  • Eventos del sistema de archivos
  • Grupo de hilos/procesos (Thread pool)

Todas las funcionalidades aqui

El Event Loop es la forma en que Node funciona, tiene principalmente un hilo llamado Event Queue, en este es donde se enfilan todas las acciones que se van a ejecutar.
Pero si por alguna razón a esta fila llega un evento que se demora como un setTimeout, una promesa o algo más, este tipo de eventos irán a parar a el Thread Pool, es un segundo hilo que se crea para resolver estos eventos con sus propios subs-hilos, una vez estos eventos son resolvidos se les manda de nuevo al Event Queue para que puedan ser ejecutados de manera correcta.

Si quieres aprender mas sobre el asincronismo https://platzi.com/clases/asincronismo-js/
😃

Aca dejo la documentación de node, donde describen y explican de qué se trata esto del event loop: https://nodejs.org/uk/docs/guides/event-loop-timers-and-nexttick/

El papel de Thread Pool es; para cada petición que tenga que hacer levanta un hilo nuevo en el procesador y automáticamente se encarga que ese proceso se ejecute, al concluir dispara un evento y lo devuelve al Event Loop.

Mis notas de esta clase!

node, delega las tareas que toman mas tiempo mientras ejecuta las de menor tiempo.

ejemplo.

crear un servidor http con node, toma mucho mas tiempo que hacer un console.log. por ende lo primero que se ejecuta es el console.log

const http = require('http');
const server =http.createServer(function (req,res) {
    console.log("Servidor creado");
});
console.log("hola mundo");

en consola quedará
Hola mundo
Servidor Creado

Excelente ! tome el curso de Nodejs con este profe y ahora este y ya me siento casi experto jajaja se viene despues el Curso practico también con este profe, ahora si que voy a quedar Senior wujaja

RESUMEN PARCIAL:


EventLoop: asíncrona por diseño


Evento loop es un bucle que gestiona de forma asíncrona y automática de todos los eventos de tu aplicación. No va a bloquearse el bucle, recibe peticioens en todo momento, por esto es altamente concurrente.

Imagina un ciclo que recibe las cosas desde el Event Queue. Llena su cola con eventos, request, function, lo procesa, si el procesado que hace no es rápdio lo manda al thread pool, que gestiona de forma asíncrona todo. Lo que son praciones de DB, archivos, slow Ops. Este es el concepto clave para diferenciar lenguajes de servidores, como php, java, py que siendo sincronos tardan mucho las operaciones en ejecutarse. Node ejecuta en paralelo las cosas, por lo que es muy eficiente.


El thread pull, para cada petición levanta un hilo/thread nuevo para cada proceso, cuando termine lo devuelve al Event Queue.
Ventajas: Lo hace muy rápido, Desventajas: Tiene problema de seguridad y gestión de errores

Importante: Cuando ocurre un error dentro de alguno de los hilos y no se controla apropiadamente (catch); Node detiene todos los hilos ejecución. Esto puede ser muy peligroso, debido a que es dificil determinar fue el origen del problema y en que punto de ejecución se encontraba cada hilo cuando fue detenido.

EventLoop: asíncrona por diseño


El Event Loop es un proceso con un bucle que gestiona, de forma asíncrona, todos los eventos de tu aplicación.

Para que lleguen los eventos al Event Loop primero estarán en el Event Queue, aquí tendremos todos los eventos. Después pasarán al Event loop y si este no logra procesarlo rápidamente lo mandará al Thread Pool, aquí es donde se comenzará a gestionar todo de forma asíncrona.

ASINCRONIA POR DISEÑO:

  • EventLoop: Es un proceso que se comporta como un bucle y se gestiona de forma automática. Todo lo que pase en la aplicación funciona de forma asíncrona asegurando que no se va a bloquear el bucle y todo lo que le enviemos va a ejecutarse aparte. El bucle puede seguir recibiendo peticiones.
    Es por esto que Node JS se considera como altamente recurrente y se usa en muchas aplicaciones que requieren múltiples entradas y salidas.
    Lo podemos imaginar como un circulo dando vueltas, los eventos vienen desde la cola de eventos o Event Queue

  • Event queue: Va a tener todo lo que se ejecute en el código y lo va a ir enviando uno a uno hacia el event loop en donde se van a procesar.

  • Thread Pool: En caso de que no sea rápido de resolver se va a enviar al Thread Pool, allí se empezara a gestionar de forma asíncrona. Lo que hace es levantar un hilo nuevo que se encargara de que el proceso se ejecute, una vez termine de ejecutarse el Thread Pool dispara un evento y se devuelve a el Event Loop y si es necesario a el Event Queu

El funcionamiento asíncrono nos sirve para que no se bloquee el hilo principal, ya que las operaciones mas lentas, con bases de datos o lectura de archivos, se van a seguir ejecutando en su propio hilo. Cada hilo se encargara de gestionar sus procesos lentos.

Esto diferencia a Node.JS de otros leguajes como PHP, Python o Java que son síncronos y una operación va detrás de la otra.

Este es un excelente artículo sobre como funciona el evenloop, lo mejor es que es animado y permite entenderlo de una forma muy visual: https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif

EventLoop:
Asincronia por diseño
Es un bucle, que gestiona de forma asincrona todos los eventos de tu aplicacion
Todo lo que le enviemos a ejecutarlo, y sigue recibiendo peticiones.
¯\_(ツ)_/¯

Asíncrono? dos o más cosas están ocurriendo al mismo tiempo

Cuales son esas cosas que aqui (en nodejs) pueden estar ocurriendo al mismo tiempo, procesos, eventos, funciones, peticiones, comunicación o todo esto? Si todo esto en paralelo en un Thread Pool de Thread y este Pool a su vez en paralelo con el Event Loop

EventLoop: asíncrona por diseño

Event Loop

Es un proceso con un bucle que esta constantemente ejecutándose con el fin de gestionar de forma asíncrona todos los eventos de la aplicación.

Estos eventos se ejecutaran aparte del hilo principal y en caso de ejecutarse, es no será bloqueado.

Es por esto que se denomina a node como no bloqueante y altamente concurrente.

Event Queue

Esta cola de eventos es el encargado de recibir request, funciones o eventos específicos, que serán enviados de uno a uno al event loop para ser procesados.

Si el proceso es demorado, será enviado al thread pool y ahí será gestionado de forma asíncrona.

A diferencias de otros lenguajes de programación backend que tienden a ejecutar el código de forma lineal o síncrono, Node tiene la característica de ejecutar múltiples proceso en paralelo o asíncrono.

Thread pool

Cuando el eventt loop no procesa un evento que llevara mucho tiempo, se enviara al thread pool el cual abrirá un nuevo proceso en nuestro procesador para llevar acabo esta tarea. Luego terminar de procesarlo es enviado nuevamente al evet loop que determinara si lo envía nuevamente al event queue o no.

Event Loop: es un proceso repetitivo que se encarga de gestionar de forma asíncrona todos los eventos que suceden en tu aplicación.
Los eventos que llegan al event loop llegan desde el event Queue (cola de eventos) este contiene todo lo que se ejecute en nuestra aplicación, los manda uno a uno al event loop y este se encarga de procesarlos, solo los que pueda, los que no lo envía al Thread Pool para que se encague de gestionar el asincronismo y la ejecución del codigo no sea bloqueada por otros procesos en ejecución. Ya que node es monohilo maneja un solo hilo, Gracias al eventLoop, Event Queue y Thread Pool nuestras apps funcionan como si manejaran multiples hilos.

Traducciones para comprender un poco mejor:
Event Loop: Bucle de Evento
Event Queue: Cola de Evento
Thread Pool: Grupo de hilos o grupo de subprocesos

Dale like si quieres más cursos con Carlos Hernández!

Qué es el Event Loop?

Es un bucle, que esta ejecutándose en todo momento, y hay un proceso automático que gestiona todo lo que entra en tu aplicación, funcione de forma asíncrona.

La mejor forma de verlo como un circulo que va dando vueltas y mas vueltas. Y aquí aparece nuestro amigo el Event Queue.

El event Queue contiene cada línea de nuestro código, una expresión, un evento, etc…
Todo esto se enviara al event loop y se ejecutara de forma rápida.

En caso de que no pueda hacerlo de inmediato, lo ejecutara de forma asíncrona.
Todo lo que requiera ejecución de bases de datos, APIs, o tome tiempo para ejecutarse y pueda demorar lo principal. Y cada hilo se ejecutara por su parte de forma funcional.

El Event Loop es la manera en que el Motor V8 diseñado por Google Ejecuta nuestro código JS.

Cómo lo hace?
Pues el event loop es un bucle sin “fin”, que solo acabara cuando la Event Queue este vacia, y la event queue es quien contiene nuestro código JS.

Sí el código JS no se ejecuta de manera super rápida ese evento se envia a la Thread Pool, que por defecto, generara un hilo (Un stack) de código para que se ejecute a su ritmo, y cuando este se complete sea enviado al Event Loop, solo sí la Event Queue esta vacia.

Event Loop: Asincronía por diseño

¿Qué es el Event Loop?

Un proceso con un bucle que gestiona, de forma asíncrona, todos los eventos de tu aplicación.

Los eventos entran en el Event Loop desde la Cola de Eventos “Event Queue”, van entrando uno a uno (funciones, peticiones, eventos, etc). En caso que el Event Loop no pueda gestionar los eventos en cierta cantidad de tiempo, pone estos en el “Thread Pool” (Operaciones de DB, Archivos u operaciones que necesitan más tiempo), para poder mantener el ciclo de eventos limpio y que no colapse. Cada operación que necesita más tiempo es gestionada con un hilo único en el procesador para poder gestionarse de forma adecuada y luego retornara al “Event Queue”.

Me encante este profesor, se ve muy seguro de lo que explica y lo hace de forma muy clara.

Tomense el tiempo de comprender los conceptos y repasarlos les recimiendo que preparen un pequeño quiz para ustedes y resuelvanlo hoy, si algo está errado o no lo recuerdas repasa, evaluate nuevamente al día siguiente, luego de una semana nuevamente, en un mes y te aseguro que en un año seguro los recuerdas con claridad.

  • El Event Loop, es un bucle que gestiona de manera asincrona los eventos de la aplicación.
  • Las tareas vienen del event queue ( function, event, request), si no puede resolverlo, lo envía al Thread Pool (DBOps, files, Slow Ops)

Event Lopp: Bucle de eventos
Se ejecuta todo el tiempo, para que todo lo que le mandemos funcione de manera asincrona
Como llegan los eventos a este bucle
Vienen desde la cola del evento, van hacer enviados y procesados , generando hilos que se encargara cada uno de sus procesos.
Es así como en paralelo podemos ejecutar múltiples tareas

¿Estoy en lo correcto?

Asincronismo en su máxima expresión. Esta es prácticamente la base de todo el ecosistema JS, saber que solo tiene un hilo y el porqué ejecuta tareas como si fuera multi hilo.

De manera informal, el EventLoop esta todo el tiempo verificando el EventQueue para ver si hay tareas para ejecutar, si encuentra alguna la ejecuta y al terminar va por mas. Cuando una tarea tarda mas de lo normal el EventLoop manda la tarea al Thread Pool, donde se crea un nuevo hilo para que la tarea se ejecute en paralelo, y asi el EventLoop puede seguir verificando el EventQueue

Corríjanme si estoy mal, pero ¿estas ventajas de node en la gestión de procesos es a coste de más memoria?

<h3>Eventloop: asíncronía por diseño</h3>
  • Que es?

    Es un bucle que todo el tiempo esta corriendo y gestiona bucle para que todo lo que mandamos se ejecute de forma asíncrona.

  • Event queue: Contiene todo lo que está en tu código y lo manda al event loop.

  • Si el bucle no ejecute una parte del código lo manda al Thread Pool para que no detenga el event loop.

  • Thread Pool para cada petición que tenga que hacer crea un nuevo hilo que procesa la tarea y luego lo manda al event loop.

Node se distingue de otros lenguajes de Backend por su funcionamiento interno, el cual le permite manejar a mayor velocidad múltiples procesos, aprovechando la asincronía del JavaScript.

El Event Queue contiene los eventos pendientes por ejecutar, como Function, Request y Event.

El Event Loop es el proceso principal que gestiona de forma asíncrona los eventos de la aplicación. Si puede resolverlos de forma veloz sin bloquear la entrada de nuevos eventos los resolverá en el momento, pero si es tardado, lo mandara a ejecutarse a un hilo en segundo plano dentro del Thread Pool.

El Thread Pool consiste en varios hilos o Threads que ejecutan se dedican a ejecutar una tarea a la vez. Cuando la tarea finaliza, la tarea es enviada de vuelta al Event Loop dejando el hilo disponible para recibir la siguiente.

Buena clase, se comprende fácil cada tema!

Más de un año trabajando con JS y apenas hoy vengo a escuchar del Event Queue 🙃

Aquí dejo este enlace donde Julián Duque explica muy detalladamente cómo funciona el event loop en Node.
Event Loop.
https://www.youtube.com/watch?v=Eqq2Rb7LzYE

bueno un repaso que se vio en fundamentos de js

El event loop pone en un nuevo hilo las operaciones que pueden tardar y bloquear el hilo principal. Así puede seguir con tareas más livianas.

Fascinante el asincronismo. Podría decir que es lo que le da sabor a Javascript.

Si tengo mas de un núcleo, como trabajaría node. De que forma aprovecha toda la capacidad de mi servidor

Comparto documentacion oficial de NodeJS acerca del EventLoop para tener más informacion! https://nodejs.org/es/docs/guides/event-loop-timers-and-nexttick/

Event Loop permite a Node.js seguir ejecutando tareas de manera separada sin que estas interfieran en el flujo de las mismas.

me encanta este maestro, jamas menciona platzi es sus cursos y todo lo pone en español master señor

Event Loop

Event loop es un bucle que gestiona de forma asíncrona y automática de todos los eventos de tu aplicación.

  1. Event Queue: Contiene todos los eventos que se generan por nuestro código (Funciones, peticiones, etc.), estos eventos quedan en una cola que van pasando uno a uno al Event Loop.

  2. Event Loop: Se encarga de resolver los eventos ultra rápidos que llegan desde el Event Queue. En caso de no poder resolverse rápido, enviá el evento al Thread Pool.

  3. Thread Pool: Se encarga de gestionar los eventos de forma asíncrona. Una vez terminado lo devuelve al Event Loop. El Event Loop vera si lo pasa a Event Queue o no.

El papel de Thread Pool es: para cada petición que tenga que hacer levanta un hilo nuevo en el procesador y automáticamente se encarga que ese proceso se ejecute, al concluir dispara un evento y lo devuelve al Event Loop.

Que hace el Thread pool?

Abre un hilo nuevo de eventos en nuestro procesador, de manera que todo se ejecute de forma asíncrona.

Aaaah, me acaba de hacer explotar la cabeza cuando reveló que el Thread Pool de hecho si invoca más hilos para realizar los procesos que le hayan llegado >.<
Con razón se me hacía super raro que Node fuera tan veloz siendo monohilo, que genialidad por parte de quienes diseñaron este lenguaje.

Hay más información sobre el Eventlopp, call queue y más temas en el Curso de JavaScript Engine (V8) y el Navegador.
Está muy bueno y es concreto.

Un excelente profeee

RESUMEN

  • EventLoop

Es un bucle que esta todo el rato ejecutandose, hay un proceso que lo gestiona de forma automatica para que todo lo que le mandemos funcione de forma asincrona. Esto dice que no se va a bloquear, que todo lo que mandemos se va a ejecutar aparte y el bucle va a poder seguir recibiendo peticiones.

  • Event Queue

Esto va a tener todo lo que ejecutemos en nuestro codigo, funciones, expresiones, eventos, etc. Esto se va a encolar y se va a mandar uno a uno al event loop, esto lo va a procesar y si no puede resolver de forma rapida, lo va a mandar al Thread Pool

  • Thread Pool

Se encarga de gestionar todo de forma asincrona. Esto quiere decir que cada hilo se encargara de gestionar sus procesos lentos y niguno detendra el eventloop.Esto lo hace porque cada peticion que tenga que hacer, va a levantar un hilo nuevo dentro del procesador y se encargara de cada proceso y cuando este termine, va a disparar un evento y se encargara de pasarlo al event loop, que se encargara de preguntar si lo vamos a mandar al event queue o lo terminara

📌 El EventLoop es el bucle de evento que se encarga de gestionar los eventos de una aplicación. Lo hace de manera asíncrona y no bloqueante.

📌 El EventLoop interaciona con el Event Queue y el Thread Pool:

Event Queue es la cola de eventos que se generan por nuestro código. Estos pasan uno a uno para su procesamiento al EventLoop que los resuelve rápidamente o, en caso contrario, los envìa al Thread Pool que se encarga de gestionar los procesos asíncronos, levantando un hilo o Thread en un nuevo procesador para que se ejecute en el tiempo que se requiera sin bloquear el hilo principal.

Event Loop:
Un proceso con un bucle que gestiona, de forma asíncrona, todos los eventos de la aplicación.
Event Queue:
Contiene los eventos que generamos al momento de codificar como Functiones, peticiones eventos,
que se quedan en la cola de tareas para después pasar al Event Loop.
Thread Pool:
Se encarga de gestionar los eventos de forma asíncrona. una vez terminado lo devuelve al Event Loop.
Por cada proceso se ejecuta un Thread.

el proceso completo seria así:

(Event Queue <=> Event Loop <=> (Thread Pool <=> (Thread (Bd Ops),Thread (Files),Thread (Slow Ops))))

Me causo confusión que hasta el momento y en otros cursos de JS de Platzi habíamos definido que JS era un lenguaje mono-hilo y en este en la primera clase ya me están diciendo que el thread pool puede administrar hilos, pues buscando me encontré con este post en Medium y me aclaro la duda. Workers

El Event Loop es un proceso en bucle que gestiona de forma asíncrona todos los eventos de nuestra aplicación.

El bucle va a ejecutar eventos de manera asíncrona y podrá seguir recibiendo peticiones sin bloquearse. Ideal cuando tenemos procesos que requieren muchas entradas y salidas (call stack).

Event Queue

Estos eventos llegan al Event Loop mediante la cola de eventos (Event queue), que tiene todas las tareas o líneas de código que se tienen que ejecutar (funciones, operaciones, peticiones, promesas, etc)

Todo esto se va ordenando en una cola y se mandan uno a uno al Event Loop. El Event Loop lo va a procesar, si puede resolverlos de inmediato lo hace y en caso de que no los pueda realizar enseguida, se mandan al Thread Pool.

Thread Pool

Esos eventos que tardan en resolverse (operaciones contra bases de datos, lectura de archivos, operaciones lentas) se van a gestionar de forma asíncrona. No van a bloquear el hilo principal, el Event Loop seguirá funcionando mientras las tareas se resuelven.

Esto ocurre porque el Thread Pool genera un hilo nuevo en el procesador para cada tarea que reciba. Se irá resolviendo cada tarea individualmente, independientemente de la duración de los otros.

Una vez terminado una tarea, se genera un evento que manda dicha tarea al Event Loop. El Event Loop revisa si es necesario mandarlo al Event Queue o ya termina toda la ejecución.

  • EventLoop: asíncrona por diseño

    • Que es el event loop?

      El eventloop es simplemente un bucle similar a un for o un while, esta todo el tiempo ejecutandoce, gracias a un proceso de forma automatica, todo lo que mandas a ese bucle funciona de forma asincrona.

      Un proceso con un bucle que gestiona, de forma asincrona, todos los eventos de tu aplicacion.

      Esto quiere decir que no va a bloquearce este bucle, todo lo que mandes va a ejecutarce aparte y el bucle va a poder seguir recibiendo peticiones.

      Esto es muy bueno para procesos que requieran muchas entradas y salidas.

      El event loop es como un circulo con una bolita que da vueltas en el circulo constantemente.

      Cada linea de codigo va a generar eventos, una funcion, una expresion, una peticion un evento que pasara a la cola de de eventos encolandoce y su se puede ejecutar se va ir mandando al event loop

      En caso de que no sea rapido de resolver lo va a mandar al thread pool y ahi se va a enpesar a ejecutar de forma sincrona mientras el Thread Pool hace su trabajo el event loop sigue trabajando con el event queue

      Muchos otros lengiajes son sincronos sin embarjo con NodeJS puedes ejecutar codigo de forma paralela.

      El thread Pool se ocupa de la ejecucion del codigo que requiere mucho tiempo ocupando un hilo del procesador dedicado solo a esa labor mientras que event loop continua con la lectura y ejecucion normal del codigo.

      Esto tiene ventajas y desventajas por ejemplo en temas de seguridad

Una explicasión muy clara. Les recomiendo vayan a l curso de asincronismo con js, y profesional con js (Complementar el conocimiento).

cada vez que explican el event loop me queda mas claro.

Me agrada que en este curso explicaron a fondo como funciona el lenguaje.

Muy recomendado este video resolviendo algunos mitos y mal concepciones sobre el event loop.

NodeJS es backend?

Crema y nata del asincronimso.

Excelente clase.

Este curso hay que tomarlo con apunte en mano y traductor en otra pestaña jajaja

Dejo el curso de Asincronismo por si no conocian el EventLoop: https://platzi.com/clases/asincronismo-js/

Claro que aquí se explica a mucha más profundidad.

Muy interesante la clase, gran explicación y vamos con toda a aprender bien Node.js

Muy buen curso!!

Muy bien explicado el Event Loop

super 😃

No me queda muy claro el funcionamiento de Thread pool. Cuando devuelve las tareas se las pasa a Event Loop o va a la cola?

😮 ASYNC AWAIT FUNCTION ()

Interesante entender como funciona el Eventloop pues nos hace entender por que la velocidad de NodeJs es superior.

event loop: bucle q gestiona de forma asíncrona, todos los eventos de la aplicación.

En resumen NODE => es asíncrono y mejora el rendimiento del proceso y de respuestas al front

cual es la diferencia de node con la de go

Event Loop: Se encarga de resolver los eventos ultra rápidos que llegan desde el Event Queue.

Les comparto una guía que encontré, explica muy bien los conceptos relacionados con este tema, está muy completa y cool. Espero les sirva 😉
https://lemoncode.net/lemoncode-blog/2018/1/29/javascript-asincrono

Y acuerdense como enseño el profe richard, el Event Loop es un señor ansioso en busca de data constantemente! 😃

Si NodeJS es Monohilo, que haya cosas que lo llame Thread, me choca bastante xD

EventLoop

Es un bucle que se ejecuta constantemente y se encarga de que todos los evengtos ocurran de manera asíncrona. De está manera el bucle nunca se bloquea. Todo el tiempo está recibiendo, procesando y ejecutando las peticiones que le llegan.

El Event Queue es una cola de eventos que se encarga de ordenarlos y enviarlos uno a uno a EventLoop donde serán procesados.

En caso de que EventLoop no pueda ejecutar un evento de manera inmediata lo redireccionará al Tread Pool donde se creará un hilo para cada uno de estos eventos que requieren un mayor procesamiento. Una vez terminado el proceso será devuelto al EventLoop, de está manera se garantiza que los procesos sigan ocurriendo y que no haya un evento que este detiendo a los demás.

Esta es la diferencia clave con otros lenguajes como PHP o Python que al ser sincronos, una peticion se ejecuta a la vez y hasta concluir una se continua con la siguiente. En Node se ejecutan varias tareas a la vez.

Event loop Un while que está ejecutándose todo el rato, gracias a el la app funciona.

Event queue: Una cola de los eventos que se tienen que hacer.

En caso de que el event loop no pueda hacer rápido los eventos los manda al Thread Pool.

Node JS te dejará hacer tareas en pararelo. Por eso es concurrente.

Tremendo Crack!
Recuerdo que alguna vez en una entrevista de trabajo me preguntaron ¿Qué era el EventLoop y si Node eres multi-hilo?
Lo cual a pesar de conocer el lenguaje, no tenia ni idea 😶 …y pues no me dieron el trabajo.

No me agüito, Ahora ya lo sé, excelente explicación.

Nunca pares de aprender!

Para entender a pronfundidad el tema, recomiendo tomar el Curso de JavaScript Engine (V8) y el Navegador

https://platzi.com/cursos/javascript-navegador/

Thread Pool

Event Queue

El término asíncrono se refiere al concepto de que más de una cosa ocurre al mismo tiempo, o múltiples cosas relacionadas ocurren sin esperar a que la previa se haya completado.

También les quiero compartir una URL dónde podrán ver el Event loop en acción

URL

Creo que esta es la mejor definición del concepto de asincronía que he escuchado.

He entendido - al fin - el Event Loop 😃

Un lenguaje especializado en la concurrencia es GO que fue creado por Google que tambien crearon el Motor V8

Algunos de problemas de event loop son: seguridad, gestión de de errores, etc

Con NodeJs todo lo que pasa en tu aplicación será de forma asíncrona 😮

📌 El EventLoop es el bucle de evento que se encarga de gestionar los eventos de una aplicación. Lo hace de manera asíncrona y no bloqueante.

Pésima explicación del event loop.