日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Node.js中的非阻塞I/O舉例分析

這篇文章主要介紹“Node.js中的非阻塞I/O舉例分析”,在日常操作中,相信很多人在Node.js中的非阻塞I/O舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Node.js中的非阻塞I/O舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

在興賓等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè)公司,興賓網(wǎng)站建設(shè)費用合理。

Node.js中的非阻塞I/O舉例分析

如何理解NodeJs的非阻塞I/O

1、I/O:即  Input/output 指一個系統(tǒng)的輸入和輸出

2 、非阻塞和阻塞的主要區(qū)別在:在接收輸入到輸出結(jié)果之間的過程中,能否繼續(xù)接收其他的輸入

例子:

比如說:出去吃飯

出去吃飯通常有兩種方式:
1 去食堂吃:排隊打飯

  • [排隊] - [等前面的人打飯 ] - [自己打飯 ] - [吃飯]

2 去餐廳吃

  • [坐下 ] - [ 點菜] - [ 等待] - [ 吃飯]

針對這兩種吃飯方式而言:

  • 1 食堂吃:對于打飯人員而言,必須等前面一個人打完了,才會打下一個人的飯,這個過程就是阻塞模式

  • 2 餐廳吃:去餐廳吃飯,服務(wù)員在給你點完餐之后,回繼續(xù)處理下一個人的點餐需求,等到你的飯好了,再將飯給你送過來,對于服務(wù)員而言,這個過程就是非阻塞的過程

理解非阻塞I/O的要點

  • 1 確定一個進行I/O操作的系統(tǒng),比如說:在上面的打飯例子里面,進行I/O的系統(tǒng)就是服務(wù)人員。

  • 2 在系統(tǒng)進行I/O操作的過程中能否再進行其他的I/O

代碼演示

示例代碼里面我們引入了一個庫 glob,這個庫主要是用來查找匹配條件的文件。 詳情請看 https://www.npmjs.com/package/glob

首先,我們先使用glob提供的同步的方法來讀取文件

    const glob = require("glob");
    let result = null;
    result = glob.sync(__dirname + "/**/*");
    console.log(result);

結(jié)果為一個文件數(shù)組

Node.js中的非阻塞I/O舉例分析

我們來看一下這個同步操作的執(zhí)行時間:

    const glob = require("glob");

    let result = null;
    console.time("glob");
    result = glob.sync(__dirname + "/**/*");
    console.timeEnd("glob");

結(jié)果:

Node.js中的非阻塞I/O舉例分析

一個讀取文件的操作,會令進程阻塞33毫秒,這是不能接受的!

接下來,我們使用異步的方式去讀取文件

    let result2 = null;
    console.time("glob2");
    glob(__dirname + "/**/*", (err, res) => {
      console.log("glob over");
    });
    console.timeEnd("glob2");

結(jié)果:

Node.js中的非阻塞I/O舉例分析

執(zhí)行異步讀取文件一共花了4毫秒,并且在執(zhí)行異步讀取文件的過程中我們也能進行其他的操作。

到此,關(guān)于“Node.js中的非阻塞I/O舉例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章標(biāo)題:Node.js中的非阻塞I/O舉例分析
鏈接分享:http://www.dlmjj.cn/article/poidhc.html