IO、NIO、AIO简述

IO又叫BIO,是同步阻塞IO

NIO是同步非阻塞IO

AIO是异步IO

异步一定非阻塞


IO是一个socket连接对应一个线程,会造成大量阻塞。

NIO是对于IO的改进,基于Reactor模型,一个请求对应一个线程。

AIO是对于NIO的进一步改进,基于Proactor模型,一个有效请求对应一个线程。


R和P都会用到事件分离器

NIO在事件分离器注册读就绪事件和读就绪事件处理器。

AIO把注册的两个就绪换成完成。 完成 → 完成

NIO每次收到IO请求时,不断获取系统的IO使用权限

AIO则是系统自行获取IO权限并进行IO操作


epoll、poll、select都是用于同步IO,监听文件描述符上的可读可写

poll类似select,但是没有最大连接数,要轮询所有流所以时间复杂度为n

epoll是事件驱动的,时间复杂度为1

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值