**课程名称:**解锁网络编程之NIO的前世今生
**课程章节:**NIO网络编程模型
**主讲老师:**张小喜
课程内容
1.编程模型
- NIO简介:Non-blocking I/O 或 New I/O
- 出生:JDK 1.4
- 职务:高并发网络服务器支持岗
2.BIO网络模型
3.BIO网络模型的缺点
- **阻塞式I/O模型:**服务端业务线程会因阻塞IO的问题一直等待客户端访问线程再次发起请求
- **弹性伸缩能力差:**服务端业务线程和客户端是1:1的
- **多线程耗资源:**线程的创建和销毁很消耗资源
4.NIO网络模型
- Selector注册建立连接事件
- 客户端向服务器端发送建立连接请求
- Selector启动建立连接时间处理器Acceptor Handler
- Acceptor Handler 创建与客户端的连接
- Acceptor Handler 响应客户端建立连接成功请求
- Acceptor Handler 将创建的Socket连接注册到Selector上并且注册连接的可读事件
- 客户端发送请求到Selector上
- Selector启动连接读写处理器Read&Write Handler
- Read&Write Handler 处理与客户端的读写业务
- Read&Write Handler 响应客户端请求
- Read&Write Handler 注册Socket连接时间到Selector上
5.NIO网络模型改进
- **非阻塞式IO模型:**服务器端提供一个单线程的Selector来统一管理所有客户端接入的socket连接,负责监听每个连接所关心的事件
- **弹性伸缩能力强:**服务器端与客户端线程数不再是1:1的关系,而是1:m的关系
- **单线程节省资源:**解决了线程的创建与销毁,以及线程上下文切换的问题
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦