BIO、NIO、AIO对比

不管是哪种IO,都是使用socket进行的不同主机间的通信,利用输入输出流进行消息的发送和接收

  • BIO(同步阻塞IO):一个请求对应一个服务端线程
  • NIO(同步非阻塞IO):IO多路复用模式,一个选择器管理多个请求
  • AIO(异步非阻塞IO)

BIO

BIO就是服务端需要阻塞等待客户端的数据发送。

  • 当连接数越来越多,服务端的资源会被占用(文件、CPU、内存)等
  • 线程间竞争和上下文切换的消耗
  • 由于线程的资源占用,导致最大并发量较低