nodejs是否具有multithreading的function?

我正在尝试本教程中的非阻塞代码示例:

var fs = require("fs"); fs.readFile('input.txt', function (err, data) { if (err) return console.error(err); console.log(data.toString()); }); console.log("Program Ended"); 

假设我有单处理器CPU。 谁pipe理callback functionconsole.log()方法之间的CPU时间? Nodejs的内核是否有像Thread manager这样的东西? 它是如何工作的?

尽pipeLibUV(在node.js中执行IO的库)在后台肯定使用了一个小线程池,但非阻塞IO本身并不使用线程来阻塞。

简而言之,您告诉操作系统初始化非阻塞IO操作。 操作系统与相关驱动程序进行通信,然后将stream程返回给应用程序。 相关的驱动程序自己运行,而不使用线程模型。 当IO完成时,驱动程序中断操作系统,然后通知您的应用程序IO正在完成。 您的应用程序然后出队相关的callback并启动它。

整个机制不需要额外的线程。 使用线程来并行化基于CPU的任务和asynchronousIO来并行化基于IO的任务。 执行IO的不是CPU,而是专门的硬件+驱动程序,因此不需要额外的线程。