當前位置:才華齋>職業>岩土工程師>

兩個模式整合在併發中的處理訪問同步

岩土工程師 閱讀(4.1K)

如今在理論上和實踐上己經存在很多成功的併發模型,但我們的目的並非要覆蓋與併發相關的所有方面,而是把主要的關注點放在幾個關鍵的模式上面。這些模式定義瞭如何構造和分割併發軟體,從而形成多個協作的執行緒,以及如何組織對由多個執行緒共享的領域物件的訪問。

兩個模式整合在併發中的處理訪問同步

  1)Active Object(活動物件)模式

為了減少服務器併發執行緒應用。它通過將服務請求和服務執行解耦合來提高併發性,它將物件化的服務請求放到自己的控制執行緒中,並簡化了對它們的訪問。

  2)Monitor Object(監控物件)模式

解決併發業務互相協調的問題。它通過同步併發方法的執行來保證同一時刻一個物件中只有一個方法在執行。它允許一個物件的多個方法以協作的方式確定它們的執行順序表。

  3)模式的整合

Active Object 和Monitor Object 模式主要處理訪問同步,它們可以對物件併發呼叫的函式進行同步和排程。下圖展示了Active Object 和Monitor Object 是如何與模式語言整合在一起的。

  這兩個模式的主要區別在於:

Active Object 模式:活動物件的'方法是在伺服器與其客戶端不同的執行緒中執行。

Monitor Object 模式:監控物件的方法則在其客戶端執行緒中執行。

所以Active Object 可以執行更為複雜(儘管代價很大)的排程,來確定其方法的執行順序。

Active Object 主要用於在大的領域物件和子系統中支援併發,而Monitor Object 則主要用於實現較小的併發物件。