最近看dennis_zane的关于AIO的帖子,查了查相关IO的类型,没有找到很好的资料,感觉IBM里的一个帖子说的挺具体,URL为:[url]http://www.ibm.com/developerworks/linux/library/l-async/[/url]
里面将IO的模型分为四种为:同步的IO、同步的NIO、异步的IO、异步的NIO:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure1.gif[/img]
同步的IO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure2.gif[/img]
同步的NIO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure3.gif[/img]
异步的IO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure4.gif[/img]
异步的NIO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure5.gif[/img]
具体内容请参考原文,内容挺多就不帖了。 :)
在这里有个疑问,就是看到异步的IO后,感觉更像JAVA的NIO,从图4中对select的描述及流程得出。
不过翻阅其他资料,没有查到JAVA NIO相关的通讯方式说明,这里很费解。
哪位大师能点化一下:关于网络IO的分类、JAVA NIO又是如何基于不同的OS上的IO的?
说的挺乱,还请指教!
里面将IO的模型分为四种为:同步的IO、同步的NIO、异步的IO、异步的NIO:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure1.gif[/img]
同步的IO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure2.gif[/img]
同步的NIO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure3.gif[/img]
异步的IO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure4.gif[/img]
异步的NIO机制为:
[img]http://www.ibm.com/developerworks/linux/library/l-async/figure5.gif[/img]
具体内容请参考原文,内容挺多就不帖了。 :)
在这里有个疑问,就是看到异步的IO后,感觉更像JAVA的NIO,从图4中对select的描述及流程得出。
不过翻阅其他资料,没有查到JAVA NIO相关的通讯方式说明,这里很费解。
哪位大师能点化一下:关于网络IO的分类、JAVA NIO又是如何基于不同的OS上的IO的?
说的挺乱,还请指教!