腾讯云开发者社区 reactor的三种模式

reactor的三种模式

Reactor 响应式编程,是NIO的编程设计模式单reactor单线程模式:  学的简单NIO例子一般就是这种模式,选择器循环和业务处理线程都用一个线程。也是最简单的NIO编程模式。  单Reactor多线程模式:   把业务线程用多个线程来处理,并且用线程池来管理。这样的NIO编程和BIO很类似都类似。主...

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

 

单reactor单线程模式:

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

   

reactor的三种模式_线程池

 

 

 

 

 

单Reactor多线程模式:

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

 

     

reactor的三种模式_线程池_02

 

 

 

 

Reactor主从模式:

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

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

    

reactor的三种模式_线程池_03

 

 

 

    

原创作者: u_15958225 转载于: https://blog.51cto.com/u_15958225/11794855
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐

  • 浏览量 118
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献1条内容