I/O模型的种类

I/O模型

常见的I/O模型有哪几种?

  1. 阻塞I/O

  1. 非阻塞I/O
    1. I/O操作函数将不断的测试数据是否已经准备 好,如果没有准备好,继续测试,直到数据准备好为止。

  1. I/O复用
    1. select、poll、epoll这三个函数可以同时阻塞多个I/O操作。

  1. 信号驱动I/O
    1. 安装一个信号处理函数,进程继续运行并不阻塞。当 数据准备好时,进程会收到一个SIGIO信号,可以在信号处理函数中调用I/O操作函数处理数 据。

  1. 异步I/O
    1. 异步IO是指用户进程触发I/O操作以后就立即返回,继续开始做自己的事情,而当I/O操作已经完成的时候会得到I/O完成的通知。 异步IO的执行者是内核线程,内核线程将数据从内核态拷贝到用户态,所以这里没有阻塞

同步IO与异步IO

  1. 同步IO需要发起者进行内核态到用户态的数据拷贝过程,所以这里必须有个阻塞(阻塞、非阻塞、IO复用、信号驱动IO都属于同步IO)
  2. 异步IO的执行者是内核线程,内核线程将数据从内核态拷贝到用户态,所以这里没有阻塞
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值