PHP面试题库2022:IO模型详解与比较.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 2页
  • 2026-08-10 发布于北京
  • 举报

阻塞io、非阻塞io、同步io、异步io

io过程:

1.内核准备数据的阶段

2.内核向用户空间拷贝数据阶段

阻塞

client阻塞block到内核准备数据的阶段

非阻塞

client在内核准备数据的阶段未阻塞

同步io

client持续阻塞到内核准备数据的阶段和内核向用户空间拷贝数据阶段完成

异步io

内核准备数据的阶段(内核直接return调和开始此阶段)和内核向用户空间拷贝数

据阶段(数据拷贝完成发送信号给client)均未发生阻塞

select,poll,epoll

io多路复用,阻塞形io,select、poll采用的轮询的方式,epoll采用回调的方式,

select/poll/epoll从本质上说都是非阻塞同步IO

IO多路复用:多个描述符的IO操作能在一线并发交替地顺序完成。复用指复

用同一个线程

select

select会收到IO就绪的状态,然后用户去处理IO,实际的IO操作还需要用

户等待内核操作缺点:能够监视文件描述符的数量存在最制,线性扫描

效率低下

poll

poll没有最大文件描述符数量的限制缺点:大量文件描述符的数组被整体于

用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文

件描

文档评论(0)

1亿VIP精品文档

相关文档