node.js的事件轮询机制
借助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并且让这个动作在下一个事件轮询的时间点上执行。能在任意阶段优先执行
网站题目:node.js的事件轮询机制
文章转载:http://lswzjz.com/article/pidphe.html