天天看點

Reactor 模式Reactor 模式

Reactor 模式

參考:https://segmentfault.com/a/1190000002715832

Reactor 模式Reactor 模式

Reactor 模式包含幾個主要的子產品:

  1. Reactor:反應器,定義一個接口,實作以下功能:
    • 供應用程式注冊和删除關注的事件句柄。
    • 運作事件循環
    • 有就緒事件到來時,分發事件到之前注冊的回調函數上處理
  2. Handle (檔案描述符)
  3. Synchronous Event Demultiplexer(多路複用,如 epoll,poll,select)
  4. Event Handler(暴露出來供程式使用的事件處理接口,可以在這些接口中實作具體的處理函數)
  5. Concrete Event Handler(實作 4 中的接口,實作應用程式所提供的特定事件處理邏輯)

反應器的工作過程:

    具體時間處理程式不調用反應器,而是由反應器配置設定一個具體事件來處理程式,具體事件處理程式對某個指定的事件發生做出反應,而做出這個反應動作,是應用程式之前注冊到 Reactor 上的 Concrete Event Handler。
Reactor 模式Reactor 模式

    Reactor 被動的等待訓示事件的到來并做出反應,它有一個等待的過程,做什麼都要先放入到監聽事件集合中等待 handler 可用時再進行操作。

Reactor 模式Reactor 模式

繼續閱讀