事件循环,高性能到底是如何做到的

24-05-24     slbcun     861℃     0

在介绍 Node.js 的应用之前,我们先来讲解下 Node.js 中最基础也是最核心的部分:事件循环的原理。这一部分在面试过程中是必考的点,然而大家在网络上查找到的知识或多或少有些出入,会被误导。

所以本讲就基于 Node.js 10+ 版本,为你讲解事件循环的原理,不过要注意这个事件循环原理和浏览器的原理是不同的,Node.js 10+ 版本后虽然在运行结果上与浏览器一致,但是两者在原理上一个是基于浏览器,一个是基于 libuv 库。浏览器核心的是宏任务和微任务,而在 Node.js 还有阶段性任务执行阶段。

Node.js 事件循环

事件循环通俗来说就是一个无限的 while 循环。现在假设你对这个 while 循环什么都不了解,你一定会有以下疑问。

谁来启动这个循环过程,循环条件是什么?

循环的是什么任务呢?

循环的任务是否存在优先级概念?

什么进程或者线程来执行这个循环?

无限循环有没有终点?

带着这些问题,我们先来看看 Node.js 官网提供的事件循环原理图。

Node.js 循环原理

图 1 为 Node.js 官网的事件循环原理的核心流程图。


分享 收藏 查看详细内容请点击:   下载
发表我的评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~