我正在学习 Node.js 的架构。我有以下问题。
- 事件循环是 libuv 还是 v8 的一部分?
- 事件队列是事件循环的一部分吗?事件队列是由 libuv 或 v8 引擎生成的还是事件循环本身?
- libuv和v8引擎有什么联系?
- 如果事件循环是单线程的,libuv 是否会创建多个线程来处理文件 I/O?
- 浏览器有事件循环机制还是只有 Node.js 有?
最佳答案
事件循环首先是一个高级概念,它是 JavaScript 编程模型的基础部分。实际上,每个 V8 嵌入器都需要实现一个事件循环。 V8 提供了一个默认实现,嵌入器可以替换或扩展它。
我不明白这个问题。 (我猜答案是"is",但“事件循环”和“事件队列”有什么区别?)
没有。 (除了 Node.js 同时使用两者。)
是的,事件循环是单线程的。
是的,浏览器也有事件循环(见问题 1)。
关于javascript - 事件循环、libuv和v8引擎的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49811043/