Actor, Reactor與Proactor模型

高性能服務器的幾種模型概念: 
actor模型: 
實體之經過消息通信,各自處理本身的數據,可以實現這並行。 
這種方式,有點相似rpc。 
skynet是actor模型。react

reactor模型: 
1 向事件分發器註冊事件回調 
2 事件發生 
4 事件分發器調用以前註冊的函數 
4 在回調函數中讀取數據,對數據進行後續處理 
libevent是reactor模型。服務器

proactor模型: 
1 向事件分發器註冊事件回調 
2 事件發生 
3 操做系統讀取數據,並放入應用緩衝區,而後通知事件分發器 
4 事件分發器調用以前註冊的函數 
5 在回調函數中對數據進行後續處理 
ASIO是preactor模型。函數

reactor和proactor的主要區別是,前者應用在回調函數中讀取數據,而後進行後續的數據處理;然後者數據讀取有操做系統完成,回調函數製做數據處理。性能

相關文章
相關標籤/搜索