我想libuv事件循环为多路复用i / o的多个操作系统提供抽象?我对吗?如果不是这样,请解释这些东西是如何工作的我需要一些内部知识,我知道事件循环是什么,我只是想知道它是如何连接的?
解决方法
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.
libuv api文档中的Design overview页面上有一个linuv架构图:
在过去,libev的事件循环用于Node.见Mikito Takada的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事件循环上的一些好资源:
> Understanding the node.js event loop Mikito Takada
> Understanding node.js作者:FelixGeisendörfer
> Understanding the Node.js Event Loop Trevor norris
> Node.js itself is blocking,only its I/O is non-blocking Jeremy Epstein
> An Introduction to libuv by Nikhil Marathe
> The libuv API documentation
感谢SaúlIbarraCorretgé在评论中的澄清.