JAVA NIO AIO BIO理解

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

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

  • AIO的做法是,每个水壶上装一个开关,当水开了以后会提醒对应的线程去处理。
  • NIO的做法是,叫一个线程不停的循环观察每一个水壶,根据每个水壶当前的状态去处理。
  • BIO的做法是,叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。
    可以看出AIO是最聪明省力,NIO相对省力,叫一个人就能看所有的壶,BIO最愚蠢,劳动力低下
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • nio 同步: 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。 异步: 委托一小弟拿...
    CatherYan阅读 1,127评论 1 12
  • NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也...
    闪电是只猫阅读 3,177评论 0 7
  • 前言 昨天知道得力集团在某一个培训机构进行校园招聘。于是我今天就来了,听了一下宣讲内容。发现得力集团刚8月份在武汉...
    cmazxiaoma阅读 3,677评论 4 19
  • Java SE 基础: 封装、继承、多态 封装: 概念:就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽...
    Jayden_Cao阅读 2,162评论 0 8
  • 减少错误的奶酪模型 扩展思考 人难免会犯错,瑞士奶酪模型就是为了尽量减少错误而出现的。 奶酪中孔洞的来源有两种:主...
    歌呗lrf阅读 329评论 0 0