I/O多路复用

1.面试被问了很多次,今天好好总结一下:

1.阻塞状态:

进程的运行和阻塞:程序在执行的同时,由于期待的某些事情没有发生,为什么没有发生呢?可能是系统资源失败,等待某种操作的完成,新数据未到达或者无法新工作,则系统自动执行阻塞语句,程序由运行态变成阻塞态!

2.阻塞模型:

阻塞I/O模型示意图:

从内核复制数据的过程:

   一个输入操作包含两个阶段:

         (1).等待数据准备好。

         (2).从内核向进程复制数据。

         对于套接字上的输入操作,第一步通常涉及等待数据从网络中到达,当所等待的数据分组到达时,它被复制到内核的某个缓冲区,第二步就是把数据从缓冲区复制到应用进程缓冲区。

1.进程调用recvfrom,系统调用直到数据报到达且被复制到应用程序的缓冲区或者发生错误时才被返回,进程再调用recvfrom开始到它返回的整段时间内是阻塞的,recvfrom成功返回后,应用进程开始处理数据报。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值