思维导图
一、Reactor模式介绍
本文主要参考Doug Lea(大神)的“Scalable IO in Java”中讲述的Reactor模式。
原文地址:http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
有兴趣的可以看看这本书,受益匪浅!
1.1 什么是Reactor模式
Reactor模式一般翻译成"反应器模式",也有人称为"分发者模式"。它是将客户端请求提交到一个或者多个服务处理程序的设计模式。工作原理是由一个线程来接收所有的请求,然后派发这些请求到相关的工作线程中。
1.2 为什么使用Reactor模式
在java中,没有NIO出现之前都是使用socket编程。socket的接收请求是阻塞的,需要处理完一个请求才能处理下一个请求,所以在面对高并发的服务请求时,性能就会很差。
那有人就会说使用多线程(如下图所示)。接收到一个请求,就创建一个线程处理,这样就不会阻塞了。实际上这样的确是可以在提升性能上起到一定的作用,