netty 为何server端需要使用两个EventLoopGroup,而client 的只需要一个?还有为何要默认设置为 CPU双倍的线程,是因为默认为IO密集型 所以这么配置吗?
这里定义了2个NioEventLoopGroup,实际上就是2个线程池,一个是用于监听客户端的连接,一个用户处理网络io,或者执行系统task等,参考链接。 用于接收客户端请求的线程池职责如下: 1)接收客户端tcp请求,初始化Channel参数。 2)将链路状态变更事件通知给ChannelPipeline。 用于处理io操作的Reactor线程池职责如下: 1)异步读取通信端的数据,发送读事件到ChannelPipeline; 2)异步发送消息到通信对端,调用ChannelPipeline的消息发送接口; 3)执行系统调用Task; 4)执行定时任务Task,例如链路空闲状态监测定时任务;
来源:云原生后端社区
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。