国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

深入淺析Node.js 事件循環(huán)、定時器和process.nextTick()

2024-05-06 15:28:33
字體:
供稿:網(wǎng)友

什么是事件循環(huán)

盡管JavaScript是單線程的,但通過盡可能將操作放到系統(tǒng)內(nèi)核執(zhí)行,事件循環(huán)允許Node.js執(zhí)行非阻塞I/O操作。

由于現(xiàn)代大多數(shù)內(nèi)核都是多線程的,因此它們可以處理在后臺執(zhí)行的多個操作。 當(dāng)其中一個操作完成時,內(nèi)核會告訴Node.js,以便可以將相應(yīng)的回調(diào)添加到 輪詢隊列 中以最終執(zhí)行。 我們將在本主題后面進一步詳細解釋。

事件循環(huán)解釋

當(dāng)Node.js啟動時,它初始化事件循環(huán),處理提供的輸入腳本(或放入 REPL ,本文檔未涉及),這可能會進行異步API調(diào)用,調(diào)度計時器或調(diào)用 process.nextTick() , 然后開始處理事件循環(huán)。

下圖顯示了事件循環(huán)操作順序的簡要概述。

   ┌───────────────────────────┐
┌─>│           timers          │
│  └─────────────┬─────────────┘
│  ┌─────────────┴─────────────┐
│  │     pending callbacks     │
│  └─────────────┬─────────────┘
│  ┌─────────────┴─────────────┐
│  │       idle, prepare       │
│  └─────────────┬─────────────┘      ┌───────────────┐
│  ┌─────────────┴─────────────┐      │   incoming:   │
│  │           poll            │<─────┤  connections, │
│  └─────────────┬─────────────┘      │   data, etc.  │
│  ┌─────────────┴─────────────┐      └───────────────┘
│  │           check           │
│  └─────────────┬─────────────┘
│  ┌─────────────┴─────────────┐
└──┤      close callbacks      │
   └───────────────────────────┘

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 庄河市| 奇台县| 五莲县| 民丰县| 辽宁省| 绥中县| 祁阳县| 长葛市| 阜城县| 巴东县| 佛教| 神农架林区| 和顺县| 儋州市| 麦盖提县| 南昌市| 南澳县| 甘孜县| 千阳县| 冕宁县| 平远县| 垫江县| 台北市| 东兴市| 彭州市| 腾冲县| 临沭县| 青铜峡市| 梁平县| 温宿县| 鸡泽县| 大新县| 建水县| 阜康市| 手游| 万载县| 麻江县| 泰安市| 大洼县| 珠海市| 汾西县|