五种IO模型

五种IO模型
     (1)阻塞IO
     (2)非阻塞IO
     (3)信号驱动
     (4)IO多路复用
     (5)异步IO

IO分两步
     (1)等待数据
     (2)数据搬迁    

阻塞IO
     在数据准备好前,什么事情都不做,阻塞在那里一直等待
 

非阻塞IO
     需要不停的轮询,询问数据是否准备好

IO多路转接(最高效的IO)
     设置select/poll/epoll函数去等待,当有事件就绪的时候,才去调用读函数去读事件,完成数据拷贝

异步IO
     应用程序自己不去处理,他调用函数以后就立即返回,当内核将数据准备好了以后,进行数据拷贝等一系列工作了以后,通过指定信号去告诉应用程序你交代的事件我已经为你处理好了

同步IO和异步IO的区别
     同步IO是数据等待和数据搬迁都是自己去做。
     异步IO是数据等待和数据搬迁都不是自己去做。
 


阻塞IO和非阻塞IO的区别
     阻塞IO在数据没有准备就绪的时候,什么事情也不做,一直在等待时间就绪,一旦数据就绪了以后,他才会将数据从内核拷贝到应用程序
     非阻塞IO在数据没有准备就绪的时候,就立即返回,并且在没有获得数据的过程中隔一段时间就去询问数据是否准备就绪,直到数据准备就绪。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值