1. 程式人生 > >nodeJS阻塞和非阻塞

nodeJS阻塞和非阻塞

1、建立一個簡單的文字文件text.txt(我的文件內容是:歡迎來到nodeJS的世界)

2、阻塞

(1)建立一個名為demo2.js的檔案

(2)輸入程式碼:

var fs = require("fs");

var data = fs.readFileSync('text.txt');

console.log(data.toString());
console.log("程式執行結束!");

(3)結果:

3、非阻塞

 (1)建立一個名為demo3.js的檔案

(2)在檔案輸入程式碼:

var fs = require("fs");

fs.readFile('text.txt',function(err,data){
	if (err) {
        console.log(error);
        return;
    } else {
        console.log(data.toString());
    }
});
console.log("程式執行結束!");

(3)結果:

4、總結

阻塞,讀取檔案同步I/O操作,等待檔案讀取完再進行其他操作。 

非阻塞,讀取檔案是非同步回撥,在等待檔案讀取時可以進行其他操作,這就大大提高了 Node.js 的效能,可以處理大量的併發請求。 

注:阻塞使用的是  fs.readFileSync();  非阻塞使用的是  fs.readFile();