reactor模型主要是为了高效处理网络IO中的连接、读、写事件
    主要有三类角色,reactor用来分配事件、acceptor用来处理连接然后把请求转发给handler、handler用来处理读写请求

    单线程Reactor模式
    一个线程:
    单线程:建立连接(Acceptor)、监听accept、read、write事件(Reactor)、处理事件(Handler)都只用一个单线程。

    多线程Reactor模式
    一个线程 + 一个线程池:
    单线程:建立连接(Acceptor)和 监听accept、read、write事件(Reactor),复用一个线程。
    工作线程池:处理事件(Handler),由一个工作线程池来执行业务逻辑,包括数据就绪后,用户态的数据读写。

    主从Reactor模式
    三个线程池:
    主线程池:建立连接(Acceptor),并且将accept事件注册到从线程池。
    从线程池:监听accept、read、write事件(Reactor),包括等待数据就绪时,内核态的数据I读写。
    工作线程池:处理事件(Handler),由一个工作线程池来执行业务逻辑,包括数据就绪后,用户态的数据读写

    redis6.0以下使用单reactor单线程模型,接收请求,读写和处理业务逻辑都在一个线程
    6.0以后引入IO多线程把读写数据逻辑使用多线程处理