O node.js executa leitura / gravação de arquivo assíncrono no thread principal?

Eu pensava que o processamento assíncrono, como o arquivo de leitura, é processado em outro thread e notifica o thread principal quando a leitura é concluída em outro thread.

Eu tentei seguir.

const fs = require("fs")

console.time(1)
fs.readFile("largefile", x => console.timeEnd(1))

Isso mostra1500ms.

Em segundo lugar, tentei 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);

Vai mostrar1500ms se o processo assíncrono for processado em outro encadeamento. No entanto, eu tenho2500ms.

Eu tentei outro.

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 alguns minutos, mas não há mensagem.

O nodejs processa processamento pesado no encadeamento principal?

Devo usarchild_process quando eu preciso ler e gravar muitos arquivos grandes?

questionAnswers(1)

yourAnswerToTheQuestion