美文网首页
2019-07-23 阻塞、非阻塞、同步、异步IO概念理解

2019-07-23 阻塞、非阻塞、同步、异步IO概念理解

作者: 胡生生 | 来源:发表于2019-07-23 16:11 被阅读0次
    1.实质
    阻塞=同步
    非阻塞=异步
    2.只是在linux网络编程中,叫法有点不同,但含义还是差不多
    整个数据包的读取过程分为两个阶段:
    2.1 进程向内核空间查询网络数据包是否准备好?
    2.2 若准备好,则将网络数据包从内核拷贝到用户空间
    两个小阶段会发生阻塞和非阻塞过程;
    两个小阶段合在一起就是一个大阶段,表示进程处理请求时获取数据的整个过程,如果此过程中有一个阶段是阻塞的,那么整个处理数据包的进程就还是同步的,只有两个小阶段都是非阻塞的,那么此进程才是异步的
    
    所以按照两个小阶段阻塞、非阻塞和检测阻塞、非阻塞的方法,将io网络模型分为6大类:
    阻塞io 都阻塞
    非阻塞io 1阶段不断检测一个io状态,2阶段阻塞
    io复用 1阶段不断检测多个io状态,2阶段阻塞
    信号驱动io 1阶段无,二阶段阻塞
    异步io 均不阻塞
    
    链接:
    https://blog.csdn.net/historyasamirror/article/details/5778378
    

    相关文章

      网友评论

          本文标题:2019-07-23 阻塞、非阻塞、同步、异步IO概念理解

          本文链接:https://www.haomeiwen.com/subject/yclalctx.html