Reactor单线程模型
示意图
问题
- 高并发场景下,一个线程处理所有的请求,那么性能是不可能的。从而有了,Reactor的线程池模型
Reactor线程池模型
示意图
改进之处
相比于单线程模型而言,使用了多个线程,效率提高,同时,也为线程池中的每个线程都配备了各自的selector选择器,来进行选择需要处理的channel。
问题
如果并发更大,或者如果IO操作是一个很耗时的操作,那么服务端的处理性能就会急剧下降。
Reactor的多线程池模型
示意图
改进之处
- 将连接请求和IO请求,分开来进行处理,不会因为IO操作很慢,而影响连接,这也正是线程池模型的缺点