- 线程模型:
单线程模型:
该Server线程要处理读请求,写请求,全部在一个线程中.
Reactor线程
-
负责分发和读写
-
Reactor多线程模型
reactor负责处理注册事件,同时也要分发到worker线程池去处理
当短时间内有几十万或者上百万的请求时,单个Reactor不仅要处理注册,同时要负责分发,可能会导致阻塞. -
主从Reactor模型
mainReactor: (只负责接口) 接受客户端注册,建立通道.
subReactor: (接待客户提供服务) 负责分发读写请求给线程池.
workerpool负责处理请求:
3.1 主从Reactor可以再演变成多主多从线程模型.
-
boss worker都是nioeventloopgroup
-
boss nioevengloop
- 处理accept事件
- 与client建立连接
- 生成NioSocketChannel
- 生成的socketchannel注册到selector上,处理队列的任务
网友评论