【问题标题】:NodeJs Event loop in libuv and V8? [duplicate]libuv和V8中的NodeJs事件循环? [复制]
【发布时间】:2021-06-03 18:10:21
【问题描述】:

NodeJs 由 V8 引擎和 libuv 库组成。 V8引擎有自己的事件循环,有调用栈、事件队列和微任务队列,用于运行我们的大陆代码。 libuv 也有事件循环,它由时间、回调、轮询、检查和关闭等阶段组成。所以这两个事件循环一起工作。我的理解正确吗?我没有找到任何相关的答案。谁能详细解释一下?

【问题讨论】:

标签: javascript node.js v8 event-loop libuv


【解决方案1】:

简而言之,据我所知,V8 没有自己的事件循环(它有一个默认实现,但它被替换或扩展了)。 V8 唯一真正使用的是调用堆栈。事件循环与 v8 不同,在浏览器中单独实现。在 NodeJS 中,它的角色扮演 libuv。

另见:

【讨论】:

  • 如果 V8 有一个调用堆栈,那么它也会有一个事件队列。那么肯定会有事件循环。
  • @KartikKumar 对不起,如果有调用栈,这是同步调用的正常机制,它不一定有事件循环和事件队列,它们与异步操作有关。这些东西一起工作,但是它们中的任何一个都可以在不同的库中实现,并且可以断开连接。我也说过,v8 有一个事件循环,但它的默认实现通常被替换或扩展。
猜你喜欢
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 2014-10-31
  • 2021-10-30
  • 1970-01-01
  • 2017-04-13
  • 2018-10-11
  • 1970-01-01
相关资源
最近更新 更多