反應器模式

反應器模式是一種為處理服務請求並發提交到一個或者多個服務處理程式的事件設計模式。

基本介紹

  • 中文名:反應器模式
  • 領域:計算機
簡介,結構,屬性,優點,限制,並發控制,

簡介

當請求抵達後,服務處理程式使用解多路分配策略,然後同步地派發這些請求至相關的請求處理程式。

結構

  • 資源:可供系統輸入或輸出的資源。
  • 同步事件解多路器:使用一個事件循環 ,以阻止所有的資源。當可以啟動一個同步操作上的資源不會阻塞,多路分解器傳送資源到分發器。
  • 分發器:處理請求程式的註冊和註銷。將資源分發到相關的處理程式.
  • 請求處理器:應用程式定義的請求處理程式和相關資源。

屬性

所有的反應器系統在定義上是單執行緒的,但可以在多執行緒環境中存在。

優點

反應器模式可完全分離程式特定代碼,這意味著套用可分為模組化的,可復用的組件。另外,由於請求的處理程式是同步調用,反應器模式可允許簡單粗粒並發而不必添加多執行緒並發系統的複雜性。

限制

由於反向的流程控制,反應器模式比過程模式更難以調試。此外,因為請求處理器只會被同步調用,因此會限制反應器模式的最大並發數,特別是在對稱多處理硬體。反應器模式的可擴展性,不僅受限於請求處理器的同步調用,同時也受解多路器限制。

並發控制

計算機科學,特別是程式設計作業系統多處理機資料庫等領域,並發控制(英語:Concurrency control)是確保及時糾正由並發操作導致的錯誤的一種機制。
資料庫管理系統(DBMS)中的並發控制的任務是確保在多個事務同時存取資料庫中同一數據時不破壞事務的隔離性和統一性以及資料庫的統一性。下面舉例說明並發操作帶來的數據不一致性問題:
  • 現有兩處火車票售票點,同時讀取某一趟列車車票資料庫中車票餘額為 X。兩處售票點同時賣出一張車票,同時修改餘額為 X -1寫回資料庫,這樣就造成了實際賣出兩張火車票而資料庫中的記錄卻只少了一張。
產生這種情況的原因是因為兩個事務讀入同一數據並同時修改,其中一個事務提交的結果破壞了另一個事務提交的結果,導致其數據的修改被丟失,破壞了事務的隔離性。並發控制要解決的就是這類問題。
封鎖時間戳、樂觀並發控制和悲觀並發控制是並發控制主要採用的技術手段。

相關詞條

熱門詞條

聯絡我們