BIO、NIO、AIO的简单理解

BIO、NIO、AIO的总结

可以简单理解为对操作系统中各种IO模型的封装。
同步与异步的区别:
同步:就是你的程序执行到某一步需要一个返回值,没有这个返回值执行不下去,那么你需要一直等着这个返回值
异步:就是你发出请求后可以切换线程去操作其它事件,比如发邮件
阻塞和非阻塞与同步和异步是一个意思
同步阻塞:烧水时,一直在看着
同步非阻塞:烧水时,时不时的去看一眼
异步非阻塞:当水开时会发出警告,这时你会去把火关上

BIO(同步阻塞式IO)

数据的读取和写入必须在同一个线程中阻塞完成,是一个典型的一请求一应答通信模型
套接字是一种通信机制,它的三个要素是:域+类型+协议
如果假如线程池就成了伪异步IO,就是多个线程发出请求,但是最后是线程池分配线程来处理请求

NIO(同步非阻塞IO)

  1. NIO是非阻塞的,单线程可以将数据读取到buffer中,在此期间可以去做别的事情,当数据读取到buffer后再来处理数据。
  2. IO面向流,而NIO面向缓冲区。在面向流的IO中,可以将数据读取到Stream对象中,而NIO可以直接读取到buffer中,NIO中所有的操作都是通过缓冲区进行的
  3. NIO通过通道(Channel)来进行读写,而IO只能单向读取
  4. NIO有选择器,选择器用于使用单个线程处理多个通道
  5. NIO读取数据都是创建一个缓冲区,然后请求通道来进行读取数据

AIO(异步非阻塞IO)

除了AIO其他的IO都是同步的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值