javascript - Nodejs 中的事件循环和浏览器中的事件循环之间的区别

标签 javascript node.js process event-loop

在浏览器中,当我们运行 Web 应用程序时,事件循环将启动监视该选项卡并处理异步任务。每个选项卡都有自己的事件循环,并且每个选项卡都在浏览器中进行处理。

我对 Node.js 事件循环架构感到困惑。

假设我有一个 node.js 应用程序并将其部署在服务器上。当我发出请求时,我的请求将启动 node.js 进程,并且一个事件循环专用于该进程,即(它将处理所有计时器,勾选所有异步任务和行为)。

当我再发出一个请求时,它将启动我的应用程序的另一个 Node.js 进程,并附加一个事件循环......以浏览器选项卡进行类比(每个选项卡都是一个单独的进程,并且有自己的进程)事件循环)。 我是对的还是我错过了什么?并且请不要提供用于观看事件循环视频的 YouTube 链接。我的主要目的是清除我对 Node.js 的思维模型。

最佳答案

当您使用 Nodejs 运行应用程序时,会启动一个进程,该进程会生成一个用于处理 io 的线程池。

有一个事件循环从 io 线程接收数据以响应请求。如果事件循环被阻止,则请求将排队直到可以接收它们。

它使用 libuv 库来完成此任务 https://github.com/libuv/libuv

关于javascript - Nodejs 中的事件循环和浏览器中的事件循环之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60937739/

相关文章:

PHP flock函数限制和txt缓存文件

c# - 打开进程(记事本)后如何将焦点设置回表单?

.NET 进程内存使用 = 5x CLR 堆内存?

javascript - jquery,在ajax成功函数中操作数据

node.js - 如何使用 Node js保存base64图像?

javascript - 正则表达式的行为因客户端而异

javascript - socket.io应用程序结构

javascript - 如何在 FireFox 中聚焦 IFRAME?

javascript - 使用 'paths' 两个图之间的干扰

javascript - 尝试为收藏项目添加标签/主题标签