四种IO 模型

(一) 同步阻塞IO  ->   BIO

   阻塞IO 指的是需要内核IO操作彻底完成后,才返回到用户空间执行用户的操作

  Java 中默认创建的socket都是阻塞的

   

(二) 同步非阻塞IO  ->   NIO

   非阻塞IO,指的是用户空间的程序不需要等待内核IO彻底完成,可以立即返回用户空间执行用户的操作,即处于非阻塞状态。

   非阻塞IO要求socket被设置为NONBLOCK

    

(三) IO多路复用( IO Multiplexing)

   经典的Reactor反应器设计模式,有时也称为异步阻塞IO

        Java中的Selector 选择器 和 Linux中的epoll都是这种模型

  

(四) 异步IO  

   用户空间的线程向内核空间注册了各种IO事件的回调函数,由内核去主动调用

  


    但愿如人意

原文地址:https://www.cnblogs.com/misscai/p/13520149.html