传统同步阻塞式I/O模型(BIO)
传统BIO编程 网络编程的基本模型是Client/Server模型,就是两个进程之间进行相互通信,Server端提供绑定的IP地址和监听端口,客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,建立成功之后就可以通过Socket通信。在BIO模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作,连接成功后双方通过输入输出流进行BIO通信。 BIO通信模式 采用BIO通信模型的Server端,通常由一个独立的Acceptor线程负责监听客户端的连接,接受到服务端的请求后为每个客户端创建一个新的线程进行链路处理,处理完成后通过输出流返回应答给客户端,线程销毁。如图 基于BIO实现的TimeServer https://github.com/chenjian44/netty_readings_note/tree/master/bio/SyncBlockingIO 弊端分析 缺乏弹性伸缩能力,当客户端访问量增加的时候,服务端的线程个数和客户端并发访问数为1:1的关系,由于线程是jvm宝贵的资源,线程膨胀之后,系统性能急剧下降,随着...
