同步||异步&&阻塞||非阻塞

  • 整体来讲
    同/异步:主要是指程序进程间的协作关系
    IO/NIO:是指的单个进程中的IO关系
    1. 同步:用户程序和内核发生的IO交互,需要等待IO操作完成(或者后台轮询等待)
      同步有阻塞和非阻塞,IO多路

    2. 异步:发生IO操作后不需要等待IO操作完成就返回,待IO完后会通知进程;
      异步不存在阻塞

    3. 区分:
      同步操作:数据通过网络到达内核,内核数据接收完成,用户线程去将数据copy到用户内存中
      异步操作:数据到达内核,接收完成后,内核处理将数据copy到提前指定的用户内存中

    4. 阻塞模型图-帮助理解

    • 同步阻塞
      同步阻塞
    • 同步非阻塞
      同步非阻塞
    • IO多路复用
      IO多路复用
原文地址:https://www.cnblogs.com/inyu/p/13814789.html