我正在設計一個C++應用程序,它由基本上獨立的插件或模塊組成,這些插件或模塊不時產生對其他插件有用的結果。例如,分析模塊會遇到一些有用的數據並將其發送到操作模塊。每個模塊將運行在它自己的線程中;這是因爲分析模塊可以繼續收集數據,而動作模塊可以以它們可以處理的速度處理數據。多線程C++應用程序中的插件/模塊通信方法
我正在尋找合適的消息傳遞架構/設計模式。 This stackoverflow thread提供了一些建議,但我不確定一個普通的界面將在多線程環境中工作。
我正在考慮建立某種基於通道的架構,其中每個模塊都在通道上以及哪個模塊感興趣的地方廣播了一些東西 - 監聽。如果在自由許可下有一些現成的圖書館 - 效果會更好。