gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:46:48 25 4
gpt4 key购买 nike

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

最佳答案

目前 Node 使用 libuv 提供的事件循环——即它的默认事件循环:uv_default_loop()。请参阅:An Introduction to libuv作者:尼基尔·马拉特:

A default loop is provided by libuv and can be accessed using uv_default_loop(). You should use this loop if you only want a single loop.

Note: node.js uses the default loop as its main loop. If you are writing bindings you should be aware of this.

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

libuv architecture

以前在Node中使用libev的事件循环。参见 Understanding the node.js event loop高田美木人:

Internally, node.js relies on libev to provide the event loop, which is supplemented by libeio which uses pooled threads to provide asynchronous I/O. To learn even more, have a look at the libev documentation.

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

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

关于javascript - node.js 中的事件循环是什么意思? javascript 事件循环或 libuv 事件循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38572350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com