I/O 模型,阻塞非阻塞,同步异步

本文深入解析IO操作的基本流程,包括read到sys_Read再到驱动缓冲区或网络udp/tcp报文的两步过程,并详细阐述同步与异步、阻塞与非阻塞的区别。通过实例分析,帮助读者理解IO操作的底层机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

















一个IO操作,需要2步。

以read为例,  read --> sys_Read --> 驱动中的buffer数据 OR 网络中的udp/tcp报文 等等


同步/异步

是否阻塞在第二步。 也就是 sys_Read --> 驱动buffer / 网络udp/tcp报文


阻塞/非阻塞

是否阻塞在第一步。也就是 read --> sys_read

注意:select/poll/epoll 阻塞在select本身,而不是read/write。对于read/write而言,其实是一个异步非阻塞模型。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值