一、了解IO多路复用技术
IO多路复用技术,将多个IO的阻塞复用到一个select的阻塞上,从而是系统在单线程的情况下可以同时处理多个客户端的请求。
IO多路复用技术降低了系统的开销,减少了线程的使用。
IO多路复用技术依赖的系统调用:select、pselect、poll、epoll
epoll相对select的改进:
![](https://img.haomeiwen.com/i11000978/af9f4374bfff4c4a.png)
二、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.问题:大量连接过来由一个线程处理可能有问题。
![](https://img.haomeiwen.com/i11000978/b7db53e917acbf96.png)
3.主从Reactor线程模型::accept & read & write 都用一个线程池,互相不干扰 。
![](https://img.haomeiwen.com/i11000978/14e9f466845f00e9.png)
网友评论