5:40在this video他說非阻塞版本(使用fs.readFile而不是fs.readFileSync)是在並行讀取文件,因此速度更快。如果Node.js是單線程的話,這怎麼可能呢?用fs.readFile比使用fs.readFileSync更快地讀取兩個文件?
阻塞:
var callback = function(err, contents) {
console.log(contents);
}
fs.readFile('/etc/hosts', callback);
fs.readFile('/etc/inetcfg', callback);
非阻塞:
var callback = function(err, contents) {
console.log(contents);
}
fs.readFileSync('/etc/hosts', callback);
fs.readFileSync('/etc/inetcfg', callback);
哪一個是最快的,也是視頻是否正確?
多線程與CPU調度有關,但讀取文件與I/O調度有關,這是Node非常擅長的。 – robertklep