微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

解决方法

目前Node使用libuv提供的事件循环 – 即其认事件循环:uv_default_loop().见:Nikhil Marathe的 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.

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

libuv architecture

在过去,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é在评论中的澄清.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐