当前位置 主页 > 网站技术 > 代码类 >

    node.js事件轮询机制原理知识点

    栏目:代码类 时间:2019-12-22 12:06

    借助libuv库实现的

    概括事件轮询机制:分为六个阶段

    1.timers 定时器阶段

    计时和执行到点的定时器回调函数

    2.pending callbacks

    某些系统操作(例如TCP错误类型)

    3.idle,prepare

    4.poll轮询阶段(轮询队列)

    如果轮询队列不为空,依次同步取出轮询队列中第一个回调函数,直到轮询队列为空或者达到系统最大限制

    如果轮询队列为空

    如果之前设置过setImmediate函数,直接进入下一个check阶段,如果之前没有设置过setImmediate函数,在当前 poll阶段等待,直到轮询队添加回调函数,就会去第一个情况执行,如果定时器到点了,他也会去下一个阶段

    5.check查阶段

    执行setImmediate设置的回调函数

    6.close callbacks关闭阶段

    close事件回调函数

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

    以上就是本次介绍的全部知识点内容,感谢大家的学习和对IIS7站长之家的支持。