reactor的三种模式

Reactor 响应式编程,是NIO的编程设计模式

 

单reactor单线程模式:

  学的简单NIO例子一般就是这种模式,选择器循环和业务处理线程都用一个线程。也是最简单的NIO编程模式。

   

 

 

 

 

 

单Reactor多线程模式:

   把业务线程用多个线程来处理,并且用线程池来管理。这样的NIO编程和BIO很类似都类似。主线程接受了请求,然后交个子线程去处理。区别在于BIO 的 accept方法是阻塞的,只有处理完成前一个请求才能给处理下一个,NIO 是通过事件驱动的,前一个请求处于分配线程过程中,后面的请求依旧可以直接接入。

 

     

 

 

 

 

Reactor主从模式:

    netty就是使用的这种模式,Reactor 有主从,主只做接受请求,多个子Reactor 只做读写IO,最耗时的业务流程交给后面的线程池,业务线程有线程池。

    注意这里的主从和不是主备的意思,和redis,mysql 的主从不一样,这里只是分工不同,不是备用节点或者线程的意思。

    

 

 

 

    

posted on 2022-09-26 02:23  zhangyukun  阅读(531)  评论(0)    收藏  举报

导航