BIO NIO AIO 区别

区别

针对 IO模型

BIO 同步阻塞 线程主动调用accept,read,write (同步),accept,read,write 需要阻塞等待返回结果(阻塞)

NIO 同步非阻塞 线程主动调用死循环询问是否有accept,read,write发生(同步),因为在调用accept,read,write时已经发生事件,所以不会去阻塞等待(基于多路复用器实现)(非阻塞)

AIO 异步非阻塞 主线程不主动调用或轮询,连接、读写是交给回调函数处理,主线程可以做别的事(异步)。而且同样是调用accept,read,write时已经发生事件,所以不会去阻塞等待、读写,所以是非阻塞(非阻塞),NIO也是基于多路复用器,是对NIO的封装

另外:异步阻塞无意义:主线程即阻塞(主动调用),又异步等待回调(不主动调用,做其他事),有冲突,所以没有意义 

总结:在IO模型中:

同步异步     是指调用accept,read,write事件时&

你可能感兴趣的:(java源码,IO,java)