netty的线程模型采用的是Reactor模式。
Reactor 对应的叫法:
反应器模式
分发者模式(Dispatcher)
通知者模式(notifier)
Reactor 模式
一个或多个请求,同时传递给 服务处理器(基于事件驱动);
服务器端程序处理传入的多个请求,并将它们同步分派到相应的处理线程, 因此Reactor模式也叫Dispatcher模式;
Reactor 模式使用 IO复用 监听事件,收到事件后,分发给某个线程(进程),这点就是网络服务器高并发处理关键。

具体代码流程为:

简单的总结一下就是,分为两个大的线程组(boosGroupEventLoopGroup和WorkerGroupEventLoopGroup),boosGroupEventLoopGroup主要负责绑定端口监听客户端的连接事件,当客户端连接时触发 OP_ACCPT事件然后通过NioSocketChannel注册读写事件到 WorkerGroupEventLoopGroup的selector上,selector然后把读写任务Task放入到pipline异步执行。
Comments NOTHING