原理图
二话不说,直接上原理图
总结
Reactor通过Selector监听客户端,发生事件后通过Dispatcher分发。
如果是建立连接的请求,则通过Acceptor建立连接,然后创建一个Handler去处理。
如果不是建立连接,直接交给Handlder处理
Handler不会直接处理,会去Worker线程池中调用线程处理。
worker线程池会分配线程去处理,结果返回给Handler
Handler收到响应之后,将结果send回去
优缺点
优点:充分利用CPU
确定:Reactor还是单线程,还是会出现性能瓶颈,而且数据都是共享的,容易出问题,多线程共享和访问数据是不太容易的,所以容易出问题