Reactor是基于NIO中實(shí)現(xiàn)多路復(fù)用的一種模式.
什么是Reactor模式

- 同步的等待多個事件源到達(dá)(采用select()實(shí)現(xiàn))
- 將事件多路分解以及分配相應(yīng)的事件服務(wù)進(jìn)行處理,這個分派采用server集中處理(dispatch)
- 分解的事件以及對應(yīng)的事件服務(wù)應(yīng)用從分派服務(wù)中分離出去(handler)
為什么使用Reactor模式
常見的網(wǎng)絡(luò)服務(wù)中,如果每一個客戶端都維持一個與登陸服務(wù)器的連接。那么服務(wù)器將維護(hù)多個和客戶端的連接以出來和客戶端的contnect 、read、write ,特別是對于長鏈接的服務(wù),有多少個c端,就需要在s端維護(hù)同等的IO連接。這對服務(wù)器來說是一個很大的開銷。
三種Reactor模型
-
單Reactor單線程模型
-
單Reactor多線程模型
-
多Reactor多線程模型


