网络模型同步异步与I/O模型同步异步

本文深入探讨了网络I/O的五种模型:阻塞、非阻塞、多路复用、信号驱动及异步I/O,对比了同步与异步在网络模型中的应用。详细解释了异步I/O如何由内核协助完成数据搬运,以及网络模型中同步与异步在事件处理上的差异。

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

理解
I/O模型的同步与异步

网络 I/O 的同步与异步跟网络模型的同步与异步不同。在网络 I/O 接口中,有阻塞、非阻塞、多路复用、信号驱动、异步I/O五中I/O模型。网络I/O分为俩步,第一步等待条件就绪,第二步进行真正的数据I/O也就是把socket接受的数据搬移到应用层buffer中。
那么这五中I/O模型中,前四种的第一步骤各有不同,但是第二个步骤都一样的都需要我们自己去I/O,但是异步I/O模型则不同它是由内核帮忙I/O然后通过信号通知程序,也就是当程序收到信号的时候我们就可以直接去处理数据了不用再去从socket中搬移数据到应用层buffer中了。

网络模型同步与异步

  网络模型的同步与异步常常指事件处理的同步与异步。比如一个网络交互分为第一步请求,第二步 响应。那么常常有俩种选择,第一种等对方返回结果了我们再进行接下来操作。第二种我们可以设置个回调函数,然后可以不阻塞等待对方返回结果,如果对方返回结果了,回调函数触发,这样就不会阻塞到等待结果那步了。那么这俩种第一种称为同步网络模型,第二种称为异步网络模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值