Node事件队列(事件循环)中,事件是先入先出吗?

网络资料中提到:

“Node.js 在主线程里维护了一个事件队列,当接到请求后,就将该请求作为一个事件放入这个队列中,然后继续接收其他请求。当主线程空闲时(没有请求接入时),就开始循环事件队列,检查队列中是否有要处理的事件。”

那请问,循环事件队列属于入栈出栈吗?那是先处理最近的事件(后入先出),还是先处理最早的事件(先入先出)呢?

又问,像这样的问题,怎么样自己通过代码验证呢?

阅读 1.9k
2 个回答
  1. 应该是队列。先入先出。
  2. 这个直接读 V8 源码,不应该自己通过代码验证。
  3. 所有开源的东西,都不应该通过外部观测的方式来验证,应该直接读源码。

既然叫 事件队列,那就肯定需要满足队列 先进先出 的基本特征。但在事件循环中,存在两种 任务队列,通常称之为 微任务队列 和 宏任务队列,其调度机制可以看
https://developer.mozilla.org...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题