io 理解

来源:互联网 发布:淘宝收货几天自动付款 编辑:程序博客网 时间:2024/05/11 12:17

    io 分为同步io(bio) 和异步io(nio)

  bio  是指 读或者写操作是阻塞的,及同步io


  nio 是指读或者写是由操作系统完成的,及非阻塞的。nio是基于事件驱动的,采用的是Reactor方式实现的。


   aio  也是异步io,基于事件的。是采用Proactor 模式实现的,从程序角度来说,和nio不同,当进行读写操作时,只需直接调用api的read或者write方法就可以了,这两种方法均是异步的,流的读取和写入都是有操作系统完成的。而 nio 是采用遍历事件通知队列的代价来完成的。



java  7   将对aio进行支持, java  7以前的版本仅支持  bio 和nio。



yanf4j 是采用aio的方式实现的网络层,有兴趣的童鞋可以下载源码阅读。 yanf4j是一个高效的网络传输框架