Blocking IO一种同步阻塞的编程方式
一、实现过程
- 服务端启动一个ServerSocket来监听网络请求
- 客户端启动Socket发起网络请求
- 一般情况下,服务端会建立一个线程来处理此请求。
- 如果服务端没有线程可用,则客户端会阻塞等待或者被拒绝
二、特点、缺点与解决
特点:
- 同步并阻塞,一个连接一个线程。
- BIO适用于连接数目较少且固定的架构,对服务器资源要求较高,并发局限于应用中。
- jdk1.4前的唯一选择,程序直观简单易理解。
缺点:
可能会造成不必要的线程开销
解决:
可以通过线程池机制改善