一.Reactor线程模型简介
1.简介:Reactor线程模型是一种并发编程模型,是一种思想。
2.Reactor模型的三种角色:
(1)Reactor:负责监听和分配事件,将IO事件分派给对应的Handler,事件包含建立连接等
(2)Acceptor:处理客户端连接,分派请求到处理器链
(3)Handler:将自身与事件绑定,执行非阻塞读、写任务,负责channel的读入,业务处理完成后,负责将结果写出channel。
二.主从Reactor-多线程
1.主从Reactor的工作流程(一个MainReactor可以对应多个SubReactor):
(1)MainReactor通过select监听客户端连接事件,收到事件
(2)Acceptor处理客户端连接事件
(3)Acceptor处理完连接事件后,MainReactor将连接分配给SubReactor
(4)SubReactor开始创建Handler处理
(5)Handler从连接上读取请求数据,将数据分发给Worker线程池进行业务处理
(6)Worker线程池会分配独立线程来处理业务,并将结果返回