node.js的事件轮询机制

借助libuv库实现的ide

归纳事件轮询机制:分为六个阶段
1.timers 定时器阶段
计时和执行到点的定时器回调函数函数

2.pending callbacks
某些系统操做(例如TCP错误类型)队列

3.idle,prepare事件

4.poll轮询阶段(轮询队列)
若是轮询队列不为空,依次同步取出轮询队列中第一个回调函数,直到轮询队列为空或者达到系统最大限制
若是轮询队列为空
若是以前设置过setImmediate函数,直接进入下一个check阶段,若是以前没有设置过setImmediate函数,在当前 poll阶段等待,直到轮询队添加回调函数,就会去第一个状况执行,若是定时器到点了,他也会去下一个阶段回调函数

5.check查阶段
执行setImmediate设置的回调函数同步

6.close callbacks关闭阶段
close事件回调函数it

process.nextTick()的意思就是定义出一个动做,pengd而且让这个动做在下一个事件轮询的时间点上执行。能在任意阶段优先执行class

相关文章
相关标签/搜索