首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js中的事件循环是什么意思?javascript事件循环还是libuv事件循环?

node.js中的事件循环是什么意思?javascript事件循环还是libuv事件循环?
EN

Stack Overflow用户
提问于 2016-07-25 23:54:04
回答 2查看 1K关注 0票数 2

在Node.js中,我们经常谈论事件循环,所以我想知道我们谈论的是哪个事件循环,Javascript事件循环还是libuv事件循环?我猜是libuv事件循环为多路复用i/o的多操作系统提供了抽象?我说的对吗?如果不是,请解释一下这个东西是如何工作的?我需要一些内部知识,我知道什么是事件循环,我只想知道它是如何连接的?

EN

回答 2

Stack Overflow用户

发布于 2016-07-26 00:13:15

目前Node使用libuv提供的事件循环,即其默认的事件循环:uv_default_loop()。请参阅: Nikhil Marathe的An Introduction to libuv

默认循环由libuv提供,可以使用libuv()访问。如果你只想要一个循环,你应该使用这个循环。

注意: node.js使用默认循环作为其主循环。如果你正在编写绑定,你应该意识到这一点。

在libuv API文档的Design overview页面上有一个linuv架构图:

过去,在Node中使用libev的事件循环。请参阅高田美纪子的Understanding the node.js event loop

内部,node.js依赖于libev来提供事件循环,并由libeio补充,后者使用池化线程来提供异步I/O。要了解更多信息,请查看libev文档。

关于Node事件循环的一些很好的资源:

感谢Saúl Ibarra Corretgé在评论中的澄清。

票数 3
EN

Stack Overflow用户

发布于 2019-01-08 14:42:32

不仅有一个事件循环,而且事件循环的不同实现取决于上下文。例如,Chrome浏览器使用V8 JS引擎的事件循环。NodeJS使用的是V8引擎,而不是它的事件循环-它使用的是Libuv事件循环。

我最近在这里做了一个详细解释的视频:https://www.youtube.com/watch?v=4xsvn6VUTwQ

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38572350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档