node.js - Node.js 是否真的在下面使用了多个线程?

标签 node.js asynchronous posix

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

最佳答案

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

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

重要的是永远不要破坏 Javascript 程序的“只有一个线程”抽象。如果线程比较多,他们只能在 Javascript 程序中为主线程排队工作,他们永远无法自己执行任何 Javascript 代码。

关于node.js - Node.js 是否真的在下面使用了多个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12651055/

相关文章:

c - 是否有 sizeof(size_t) > sizeof(off_t) 的 POSIX 实现?

android - 如何在 Android Shell 中获取以纳秒为单位的当前 Unix 时间?

node.js - 尝试通过 AWS Lambda 连接到 Redshift

c# - 如何在 C# WPF 中发出异步 Web 请求

javascript - Gulp:调用一个异步函数,该函数在转换函数中提供自己的回调

c# - 异步/等待内存缓存的线程安全

shell - UNIX:复制整个目录结构并且只复制特定的文件类型

node.js - 在不启动服务器的情况下对 Express/Loopback 中间件进行单元测试

javascript - 如何检查 node-orm 中的列是否有 NULL 值

node.js - TypeScript 中 `import from` 和 `import require` 之间的区别