gpt4 book ai didi

node.js - libuv 是在 unix 中使用 epoll 还是 select(2)

转载 作者:搜寻专家 更新时间:2023-11-01 00:17:07 26 4
gpt4 key购买 nike

我一直在阅读 nodejs 如何使用 libuv 执行异步 I/O。阅读更多有关它的内容让我觉得它听起来与 select(2) 和 epoll 的方式几乎相似。

所以,我的问题是,如果我正在使用 libuv(通过 Node ),我在内部使用 select(2) 或 epoll 是真的吗。

libuv 是 unix 中 select(2) 和 epoll 系统调用的包装器吗?

最佳答案

libuv 对每个平台都使用了最高效的轮询机制:这意味着在 Linux 上是 epoll,在 macOS 和 BSD 上是 kqueue,在 SunOS 上是/dev/poll 等等。libuv 的一个有趣技巧是它在线程上使用 select()某些 fds kqueue 无法处理。我在这里给出了一些细节:http://code.saghul.net/index.php/2016/05/24/libuv-internals-the-osx-select2-trick/

关于node.js - libuv 是在 unix 中使用 epoll 还是 select(2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130102/

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