我正在研究用於在C++中創建應用程序以在不同內核中同時處理多個輸入的體系結構。每個輸入同時在一個內核中處理。核心上的每個進程都將通過相同的過濾器進行處理。例如:filter1.apply(),filter2.apply()和filter3.apply()。下面是4個內核的流程圖,如下所示:哪種架構或設計模式適合這種應用?
[core 1] [core 2] [core 3] [core 4] | | | | V V V V input1 input2 input3 input4 | | | | V V V V filter1 filter1 filter1 filter1 | | | | V V V V filter2 filter2 filter2 filter2 | | | | V V V V filter3 filter3 filter3 filter3 | | | | V V V V output1 output2 output3 output4
我不知道哪種架構或設計模式適合於此。如果您給我一些文物(文檔或示例應用程序)以進一步閱讀,那將是非常棒的。
在此先感謝。
@Joachim:感謝您的刊物。實際上,我也做得更好:) – olidev 2012-01-02 13:11:16
正如一個側面說明,它看起來像是如果你能以某種方式將過濾器序列編譯成單個過濾器,那麼這可能是一個淨贏,因爲你總是在做同樣的順序的東西 - 有點像OpenGL中的顯示列表。 – 2012-01-02 13:15:14
在單個過濾器中編譯過濾器並不好,因爲函數的作用域(行數)非常大。我希望這種架構在未來能夠更靈活地添加新的過濾器。例如:過濾器4和過濾器5添加,然後我只是簡單地調用:filter1.apply(),filter2.apply(),filter3.apply(),filter4.apply()和filter5.apply()。 – olidev 2012-01-02 13:18:09