①同步阻塞IO(Blocking IO):即传统的IO模型。

②同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。

③多路复用IO(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型(Redis单线程为什么速度还那么快,就是因为用了多路复用IO和缓存操作的原因)

④异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非阻塞IO。


图解:

图解BIO、NIO、AIO、多路复用IO的区别

 

 图解BIO、NIO、AIO、多路复用IO的区别

 

 图解BIO、NIO、AIO、多路复用IO的区别

 

 图解BIO、NIO、AIO、多路复用IO的区别

 

相关文章:

  • 2021-07-12
  • 2022-12-23
  • 2022-01-19
  • 2021-12-21
  • 2021-06-23
  • 2021-12-29
  • 2021-10-01
猜你喜欢
  • 2021-12-11
  • 2021-10-08
  • 2021-04-24
  • 2021-12-30
  • 2021-10-31
  • 2021-12-27
  • 2021-07-29
相关资源
相似解决方案