JavaScript Event循环和Node.js事件循环之间有什么不同?

问题描述 投票:2回答:1

在JavaScript中,事件循环用于引擎。这是一张图来说明这个article

对于Node.js,事件循环也在这里实现。引用这个question

Node.js事件循环在单个线程下运行,这意味着您编写的应用程序代码在单个线程上进行评估。 Nodejs本身使用了libuv下面的许多线程,但是在编写nodejs代码时你永远不必处理那些线程。

但是,关于node.js事件循环,我仍然是抽象的。

  • 是否有任何图像可以更清楚地介绍它?
  • 这两个事件循环之间有什么不同?
javascript node.js event-loop
1个回答
1
投票

这两个事件循环之间有什么区别?

没有。 Nodejs是JavaScript引擎1。

1:或者更确切地说,其中一个,还有其他引擎实现相同的语言和相同的事件循环概念。

是否有任何图像可以更清楚地介绍它?

有许多。但我觉得动画效果更好:-) Philip Roberts的This jsconf talk在各地都受到称赞。


1
投票

Nodejs事件循环的实现方式与基于浏览器的事件循环不同。

这是Nodejs社区中一个巨大的混乱点。

虽然Nodejs使用谷歌V8作为它的运行时,但它没有使用V8来实现事件循环。

Nodejs使用Libuv库(用C ++编写)来实现事件循环。

上面的图表(适用于JS事件循环)与Node Js事件循环不同。

为了完全理解Nodejs事件循环,您应该学习三个参考:

  1. https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/
  2. http://docs.libuv.org/en/v1.x/design.html
  3. https://www.youtube.com/watch?v=sGTRmPiXD4Y
© www.soinside.com 2019 - 2024. All rights reserved.