美文网首页io
JAVA NIO AIO BIO理解

JAVA NIO AIO BIO理解

作者: wangxiaoda | 来源:发表于2017-08-20 11:41 被阅读102次

    对于java的BIO、NIO、AIO,在知乎上发现了很有趣很形象的解释:
    AIO 是彻底的异步通信。
    NIO 是同步非阻塞通信。

    有一个经典的举例。烧开水。
    假设有这么一个场景,有一排水壶(客户)在烧水。

    • AIO的做法是,每个水壶上装一个开关,当水开了以后会提醒对应的线程去处理。
    • NIO的做法是,叫一个线程不停的循环观察每一个水壶,根据每个水壶当前的状态去处理。
    • BIO的做法是,叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。
      可以看出AIO是最聪明省力,NIO相对省力,叫一个人就能看所有的壶,BIO最愚蠢,劳动力低下

    相关文章

      网友评论

        本文标题:JAVA NIO AIO BIO理解

        本文链接:https://www.haomeiwen.com/subject/mhkfdxtx.html