美文网首页Netty框架源码分析
2.Netty框架-线程模型(Reactor线程模型)

2.Netty框架-线程模型(Reactor线程模型)

作者: 还算年轻 | 来源:发表于2020-08-06 10:20 被阅读0次

一、了解IO多路复用技术

IO多路复用技术,将多个IO的阻塞复用到一个select的阻塞上,从而是系统在单线程的情况下可以同时处理多个客户端的请求。

IO多路复用技术降低了系统的开销,减少了线程的使用。

IO多路复用技术依赖的系统调用:select、pselect、poll、epoll

epoll相对select的改进:

二、Reactor线程模型

一、什么是反应器模式?

      反应器设计模式(Reactor pattern)是一种为处理并发服务请求,并将请求提交到一个或者多个服务处理程序的事件设计模式。当客户端请求抵达后,服务处理程序使用多路分配策略,由一个非阻塞的线程来接收所有的请求,然后派发这些请求至相关的工作线程进行处理。

二、反应器模式的组成:

    1.Reactor反应器线程(NioEnvientLoop):负责响应IO事件并分发到Handles处理器。

    2.Handles处理器线程:非阻塞的执行业务逻辑(Handle)

三、Reactor 反应器模型的作用:(代替了常用的多线程处理方式,较少多线程带来的性能开销)

三、Reactor线程的分类:

1.单线程Reactor线程模型:accept & read & write 都用一个线程 。

2.多线程Reactor线程模型:accept 由一个线程处理,read & write有一个线程池处理。

    1.多个子反应器,一个负责监听、一个线程池负责读写。

    2.问题:大量连接过来由一个线程处理可能有问题。 

3.主从Reactor线程模型::accept & read & write 都用一个线程池,互相不干扰 。

相关文章

网友评论

    本文标题:2.Netty框架-线程模型(Reactor线程模型)

    本文链接:https://www.haomeiwen.com/subject/dqosrktx.html