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

理解

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中了。

网络模型同步与异步

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

你可能感兴趣的:(编程心得)