高性能IO模型
2020-02-24 11:04:35 0 举报
AI智能生成
高性能IO模型汇总
作者其他创作
大纲/内容
定义
服务器端常用的,用途提高IO性能的模型
常见类型
同步阻塞IO Blocking IO
定义
线程访问数据,没准备好则阻塞
性能
性能较差,吞吐量低
无数据则阻塞
同步非阻塞IO No-Blocking IO
定义
访问线程轮训而不阻塞
* 此处的nio与java中的nio不是一个概念,java的nio是IO多路复用方式
性能
一个连接一个线程的方式,性能有所提升,但仍存在线程处理socket阻塞问题,性能不是很高
线程轮训到有数据,不阻塞
分支主题
交给一个线程处理
分支主题
一个连接一个线程
(tomcat早期使用此方式)
IO多路复用 IO Multiplexing
分支主题
经典的Reactor模式
定义
一个请求一个工作线程
总体示意图
分支主题
核心
分支主题
各部
RequestHandler
处理请求,是一个独立的线程
* 所有RequestHandler可以以一个线程池的形式存在
ServiceHandler
监听Inputer并交给一个RequestHandler
* ServiceHandler即可以是单个线程,也可以是多线程的
总体流程
1 Acceptor接收连Inputer(连接),放入队列
2 Poller取出Inputer注册到ServiceHandler
3 ServiceHandler监听Inputer
4 若有数据可以读取,则交给RequestHandler进行处理
模式了解仍非很深入???总体示意图采用的是tomcat的实现方式
应用
tomcat的Nio模式
netty也采用该模式
异步IO Asynchronous IO
经典的Proactor模式
0 条评论
下一页