IO阻塞和非阻塞,消息同步和异步

  1. 阻塞

      IO操作等待数据返回,未充分利用cpu


  2. 非阻塞

      IO操作无需等待数据返回,可以接着往下执行代码,cpu充分利用


  3. 同步

      IO操作,主动关心数据返回


  4. 异步

      IO操作,被动模式,有数据时会有事件通知


阻塞与非阻塞,在于同一时间是否可处理多个任务。而同步和异步,则是是否等待数据返回,若是异步状态,当任务处理完成时,消息会主动通知。


参考:

Nginx的异步非阻塞

apache和nginx那点事儿--阻塞和异步


并发,多线程 | 2018-05-20 08:26:45