Reactor 模式

Reactor 模式

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

這裏寫圖片描述

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 被動的等待指示事件的到來並做出反應,它有一個等待的過程,做什麼都要先放入到監聽事件集合中等待 handler 可用時再進行操作。

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章