Node.js 实际上是否在下面使用多个线程



在我读过关于node的所有文献之后.js我仍然回到这个问题,node.js本身是否在引擎盖下使用了多个线程?我认为答案是肯定的,因为如果我们使用简单的异步文件读取示例,则必须执行读取文件的工作,但是如果节点的主事件循环不处理这项工作,那么那必须意味着应该有一个 POSIX 线程在某处运行,负责文件读取,然后在完成后将调用放回要执行的事件循环中。因此,当我们说 Node.js 在一个线程中运行时,我们实际上是指 node.js 的事件循环只是一个线程吗?还是我在这里错过了什么.....

对于node.js上的Javascript程序,只有一个线程

如果您正在寻找技术细节,node.js 可以自由使用线程来解决异步 I/O 问题(如果底层操作系统需要)。

重要的是永远不要破坏Javascript程序的"只有一个线程"抽象。如果有更多的线程,他们所能做的就是在Javascript程序中为主线程排队工作,他们永远不能自己执行任何Javascript代码。

最新更新