本文简单介绍 Java 中的 BIO 知识。
1
BIO 通信模型
BIO 通信模型如下图所示:
BIO 是一个一请求一应答的通讯模型,怎么理解一请求一应答呢?
服务端由一个独立的 Acceptor 线程负责监听所有客户端的连接,接收到客户端连接请求之后为每个客户端创建一个新的线程进行处理,处理完成之后,通过输出流返回应答给客户端,然后线程销毁。也即是一个客户端请求会对应一个服务端线程来处理。
2
BIO 的一个简单例子
3
BIO 弊端
每一个新的客户端请求接入时,服务端必须创建一个新的线程处理新接入的客户端链路,一个服务端线程只能处理一个客户端连接。在高并发的情况下,容易占用大量资源,无法高效的处理。
做个有梦想的程序猿