当你去查阅Node相关的资料时,经常会看到异步,非阻塞,回调, 事件等关键字,于是你会感觉好像异步与非阻塞是一回事。从开发者的角度来看异步与非阻塞都实现了并行IO的目的,但从操作系统内核来看,阻塞非阻塞与同步异步是有着本质的区别。
本文笔者根据自己熟悉的Java和JS两种语言来作这方面的解释。首先先通过IO流读取文件的操作来两种语言的区别:
NodeJS
var fs = require('fs');
fs.readFile('a.txt','utf8',function(err,data){
console.log(data);
});
xxxx
Java
InputStream in = new FileInputStream("a.txt" );
byte bu [] =