什么是BIO、NIO、同步IO、异步IO?

  • BIO:阻塞IO
  • NIO:非阻塞IO
  • 同步IO
  • 异步IO

那么什么是阻塞IO、非阻塞IO、同步IO、异步IO呢?

一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作

  • 阻塞IO和非阻塞IO的区别在于第一步:发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO;如果不阻塞,那么就是非阻塞IO。
  • 同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复用、信号驱动IO都是同步IO;如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO。

举个生活中的例子:

打电话给手机充值

  1. 你拨打10086——客户端与服务器建立连接。
  2. 人工服务接通了你的电话——连接建立。
  3. 你说"我现在可以充值吗?"——发送消息。
  4. 说完人工客服去查询你的账单,你等待人工回复,那么这就是阻塞IO。
  5. 如果你放下电话,开上免提,然后处理其他事情了,一会儿你问她,查好了吗---那这就是非阻塞IO。
  6. 如果人工客服说:"查好了,现在正在给您充值"——这就是同步IO。
  7. 如果人工客服说:"查好了,稍后给您充值,请您十五分钟查看",然后挂了电话——这就是异步IO。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值