🥇 Síncrono vs asíncrono.

🍿 Síncrono vs Asíncrono.

Ahora vamos a explicar que lo que es asincrono en informatica y programacion. Para ello tenemos que describir que es asincrono en javascript y como se utiliza.

Asíncrono se refiere a la ejecución de procesos ejecutandose de manera simultanea.

Síncrono se refiere a la ejecución de un solo proceso de manera simultanea.

Javascript es síncrono pero NodeJS es asíncrono, V8 el motor de JS que utiliza node, convierte el código JS en lenguaje máquina que puede ser interpretado por el cpu.

🍿 Callbacks.

Un callback es una función que es enviada a otra función para que sea ejecutada en determinado momento.

function a(b){
    b();
}

a(function(){
    console.log('Hola mundo!')
});

🍿 Libuv.

V8 ejecuta codigo JS convirtiendolo a código máquina, pero también hace uso de Libuv que conecta diréctamente con el sistema operativo para lidiar con otros elementos a un mas bajo nivel. Para mantener un orden de estos eventos usa un queue (lista) que en realidad funciona como un loop y que esta a la espera de que algo suceda. Cuando estos eventos suceden (abrir un archivo, escribir un archivo, descargar un archivo), este se dispara como una llamada que notifica a V8 que el evento se ha completado y que el callback de dicho evento debe ejecutarse. De esta forma el JS que es síncrono funciona de manera asíncrona en Node.

Así entonces tenemos que el uso de node permite que se definan eventos que no bloquean al sistema, y sus callbacks se ejecutan cuando dichos eventos se cumplen. A esto se le llama Non Blocking, es decir permite hacer otras cosas sin tener que detener la ejecución del código durante su ejecución.

ES6 (ECMAScript 2015). Streams y buffers.
comments powered by Disqus