目录
1.线程模型分析:
2.主从Reactor多线程工作原理:
3.优缺点:
4.Reactor模式小结:
1.线程模型分析:
永远要记住, Reactor(监听和分发)是通过多路复用器(Selector,poll,epoll)进行工作的,并且处理的事件中,就是客户端连接(Selection.OP_ACCEPT)和读(Selection.OP_READ)这两种事件。Acceptor(应该就是ServerSocketChannel,或者说肯定主要用到了它)负责处理客户端连接事件,Handler其实就是把处理READ事件的操作封装一下。
主从Reactor中的主Reactor(主线程)只处理客户端连接事件,从Reactor(子线程们)只处理READ事件。主线程处理完连接事件后,生成一个NIOSocketChannel(封装了SocketChannel),然后将其注册到从Reactor的selector中。
MainReactor只处理客户端连接事件,SubReactor处理Read事件,Acceptor应该就是ServerSocketChannel(或者说肯定主要用到了它).
2.主从Reactor多线程工作原理:
3.优缺点:
4.Reactor模式小结:
Netty又进一步进行了功能的增强,可以有多个MainReactor(叫做Boss Group),当然还是多个subReactor,下图是一个最简单的Netty线程模型的工作原理示意图:



