node.js事件輪詢機制原理知識點
借助libuv庫實現的
概括事件輪詢機制:分為六個階段
1.timers 定時器階段
計時和執(zhí)行到點的定時器回調函數
2.pending callbacks
某些系統(tǒng)操作(例如TCP錯誤類型)
3.idle,prepare
4.poll輪詢階段(輪詢隊列)
如果輪詢隊列不為空,依次同步取出輪詢隊列中第一個回調函數,直到輪詢隊列為空或者達到系統(tǒng)最大限制
如果輪詢隊列為空
如果之前設置過setImmediate函數,直接進入下一個check階段,如果之前沒有設置過setImmediate函數,在當前 poll階段等待,直到輪詢隊添加回調函數,就會去第一個情況執(zhí)行,如果定時器到點了,他也會去下一個階段
5.check查階段
執(zhí)行setImmediate設置的回調函數
6.close callbacks關閉階段
close事件回調函數
process.nextTick()的意思就是定義出一個動作,pengd并且讓這個動作在下一個事件輪詢的時間點上執(zhí)行。能在任意階段優(yōu)先執(zhí)行
以上就是本次介紹的全部知識點內容,感謝大家的學習和對腳本之家的支持。
相關文章
nodejs對項目下所有空文件夾創(chuàng)建gitkeep的方法
這篇文章主要介紹了nodejs對項目下所有空文件夾創(chuàng)建gitkeep的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08輕松創(chuàng)建nodejs服務器(9):實現非阻塞操作
這篇文章主要介紹了輕松創(chuàng)建nodejs服務器(9):實現非阻塞操作,本系列文章會教你一步一步創(chuàng)建一個完整的服務器,要的朋友可以參考下2014-12-12