¿Node.js ejecuta lectura / escritura de archivos asíncronos en el hilo principal?
Pensé que el procesamiento asincrónico, como la lectura del archivo, se procesa en otro hilo y notifica al hilo principal cuando la lectura finaliza en otro hilo.
Intenté seguir.
const fs = require("fs")
console.time(1)
fs.readFile("largefile", x => console.timeEnd(1))
Esta espectáculos1500ms
.
n segundo lugar, intenté seguir.
const fs = require("fs")
console.time(1)
fs.readFile("largefile", x => console.timeEnd(1))
// block main thread 1sec
const s = Date.now()
while(Date.now() - s < 1000);
Mostrará1500ms
si el proceso asíncrono se procesa en otro hilo. Sin embargo, obtuve2500ms
.
Intenté con otro.
const fs = require("fs")
console.time(1)
fs.readFile("largefile", x => console.timeEnd(1))
setInterval(() => {
const s = Date.now()
while(Date.now() - s < 100);
}, 100)
Espero varios minutos, pero no hay ningún mensaje.
No procesa nodejs un procesamiento pesado en el hilo principal?
¿Debo usarchild_process
cuando necesito leer y escribir demasiados archivos grandes?