高性能服務器的幾種模型概念:
actor模型:
實體之經過消息通信,各自處理本身的數據,可以實現這並行。
這種方式,有點相似rpc。
skynet是actor模型。react
reactor模型:
1 向事件分發器註冊事件回調
2 事件發生
4 事件分發器調用以前註冊的函數
4 在回調函數中讀取數據,對數據進行後續處理
libevent是reactor模型。服務器
proactor模型:
1 向事件分發器註冊事件回調
2 事件發生
3 操做系統讀取數據,並放入應用緩衝區,而後通知事件分發器
4 事件分發器調用以前註冊的函數
5 在回調函數中對數據進行後續處理
ASIO是preactor模型。函數
reactor和proactor的主要區別是,前者應用在回調函數中讀取數據,而後進行後續的數據處理;然後者數據讀取有操做系統完成,回調函數製做數據處理。性能