node.js事件輪詢機制原理知識點
借助libuv庫實現(xiàn)的
概括事件輪詢機制:分為六個階段
1.timers 定時器階段
計時和執(zhí)行到點的定時器回調(diào)函數(shù)
2.pending callbacks
某些系統(tǒng)操作(例如TCP錯誤類型)
3.idle,prepare
4.poll輪詢階段(輪詢隊列)
如果輪詢隊列不為空,依次同步取出輪詢隊列中第一個回調(diào)函數(shù),直到輪詢隊列為空或者達到系統(tǒng)最大限制
如果輪詢隊列為空
如果之前設(shè)置過setImmediate函數(shù),直接進入下一個check階段,如果之前沒有設(shè)置過setImmediate函數(shù),在當前 poll階段等待,直到輪詢隊添加回調(diào)函數(shù),就會去第一個情況執(zhí)行,如果定時器到點了,他也會去下一個階段
5.check查階段
執(zhí)行setImmediate設(shè)置的回調(diào)函數(shù)
6.close callbacks關(guān)閉階段
close事件回調(diào)函數(shù)
process.nextTick()的意思就是定義出一個動作,pengd并且讓這個動作在下一個事件輪詢的時間點上執(zhí)行。能在任意階段優(yōu)先執(zhí)行
以上就是本次介紹的全部知識點內(nèi)容,感謝大家的學習和對我們的支持。
上一篇:vue element-ui實現(xiàn)動態(tài)面包屑導航
欄 目:JavaScript
下一篇:Jquery屬性的獲取/設(shè)置及樣式添加/刪除操作技巧分析
本文標題:node.js事件輪詢機制原理知識點
本文地址:http://mengdiqiu.com.cn/a1/JavaScript/9422.html
您可能感興趣的文章
- 01-10微信小程序跨頁面數(shù)據(jù)傳遞事件響應(yīng)實現(xiàn)過程解析
- 01-10JQuery中的常用事件、對象屬性與使用方法分析
- 01-10node.js使用mongoose操作數(shù)據(jù)庫實現(xiàn)購物車的增、刪、改、查功能示
- 01-10node.js Promise對象的使用方法實例分析
- 01-10node.js express捕獲全局異常的三種方法實例分析
- 01-10JavaScript監(jiān)聽觸摸事件代碼實例
- 01-10Vue 實現(xiàn)顯示/隱藏層的思路(加全局點擊事件)
- 01-10JS代碼觸發(fā)事件代碼實例
- 01-10Node中對非阻塞I/O、事件循環(huán)的知識點總結(jié)
- 01-10React學習之JSX與react事件實例分析


閱讀排行
本欄相關(guān)
- 04-02javascript點線,點線的代碼
- 04-02javascript潛力,javascript強大嗎
- 04-02javascript替換字符串,js字符串的替換
- 04-02javascript移出,js 移入移出
- 04-02包含javascript舍的詞條
- 04-02javascript并行,深入理解并行編程 豆瓣
- 04-02javascript匿名,js匿名方法
- 04-02javascript警報,JavaScript警告
- 04-02javascript遮蓋,JavaScript遮蓋PC端頁面
- 04-02javascript前身,javascript的前身
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10C#中split用法實例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法