
Cesar Guzman
PreguntaHola, Porqué si el Thread Pool crea múltiples hilos que se ejecutan de forma asíncrona JS no es un lenguaje multithread?

Hector Esau
Alog que también te puede servir es que si el el funcionamiento principal es monohilo, por lo tanto para terminar una tarea tiene que ser secuencial, pero la clave y lo que hace rápido a javascript es que delega las tareas a otros lados, pero para empezarla y finalizarla tiene que pasar por el monohilo (event loop)

Sebastián Gonzalez Quintero
El lenguaje Javascript en si es monohilo, es decir se ejecuta en un solo hilo. Que el lenguaje se ejecute en un solo hilo no quiere decir que su interprete no disponga de varios hilos, así que vamos por partes:
Event Loop: Este por decirlo de alguna forma es el hilo principal. Aquí es donde se ejecuta el código Javascript.
Thread Pool: Es una estrategia utilizada para disponer de varios hilos en cualquier momento. Estos hilos están todo el tiempo corriendo a la espera de ejecutar una tarea que es enviada desde el hilo principal.
Desde Event Loop se envía una tarea hacia Thread Pool. Cuando Thread Pool completa alguna tarea devuelve un evento al Event Loop.
NodeJS restringe el acceso a Thread Pool para simplificar el trabajo con hilos desde Javascript. Así que no permite acceder directamente a los hilos (bajo nivel) sino que expone sus librerías como Files, DB Ops, etc... (alto nivel). De esta forma desde Javascript todo parece monohilo mientras que es posible que NodeJS ejecute varios hilos de acuerdo a las instrucciones de Javascript.
David Acosta
Técnicamente esos hilos del thread pool no se precisamente del lado de NodeJs. Lo que sucede es que Node usa una librería en C llamada Libuv la cual se encarga de ejecutar esos procesos en background.

Alex Camacho
Porque a pesar de que se creen así, entran a una cola en la que se van resolviendo uno por uno.