Reactor 模式
參考:https://segmentfault.com/a/1190000002715832

Reactor 模式包含幾個主要的子產品:
- Reactor:反應器,定義一個接口,實作以下功能:
- 供應用程式注冊和删除關注的事件句柄。
- 運作事件循環
- 有就緒事件到來時,分發事件到之前注冊的回調函數上處理
- Handle (檔案描述符)
- Synchronous Event Demultiplexer(多路複用,如 epoll,poll,select)
- Event Handler(暴露出來供程式使用的事件處理接口,可以在這些接口中實作具體的處理函數)
- Concrete Event Handler(實作 4 中的接口,實作應用程式所提供的特定事件處理邏輯)
反應器的工作過程:
具體時間處理程式不調用反應器,而是由反應器配置設定一個具體事件來處理程式,具體事件處理程式對某個指定的事件發生做出反應,而做出這個反應動作,是應用程式之前注冊到 Reactor 上的 Concrete Event Handler。
Reactor 被動的等待訓示事件的到來并做出反應,它有一個等待的過程,做什麼都要先放入到監聽事件集合中等待 handler 可用時再進行操作。