高级I/O

五种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)

功能:

是一种IO事件的监控,同时对大量的描述符进行事件监控,监控描述符是否具备IO条件;

作用:

通过IO多路转接技术监控描述符,就可以得到描述符的状态

适用场景:

有大量的客户端连接但是同一时间只有少量活跃的情景,并且每一个客户端的请求处理时间不会很长;

模型:

  • select模型
  • poll模型(被淘汰)
  • epoll模型

都是实现对大量描述符进行事件监控的操作;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值