我在我的節目從幾個來源同步讀取和處理數據,如下所示:輸入複用的C++設計模式?
main
...
while(true) {
dataSample1 = readInput1...
processData(dataSample1)
....
dataSample2 = readInput2...
processData(dataSample2)
}
每個readInput是在單獨的組件中實現,以處理不同性質的輸入(例如插座,USB端口等),但數據樣本的格式相同。問題是readInput和processData都被阻塞,所以我必須想出解決方案來多路讀取「processData」的輸入。這個問題是否對應於「反應堆」或「反應堆」模式?有沒有框架來幫助實現,而無需將每個「readInput」移動到單獨的線程中?
謝謝...
你在朝着正確的方向思考,但你的解釋令人困惑。如果多個樣本來自一個來源,那麼應該立即處理這些樣本,還是每個樣本都需要等待來自其他來源的配對樣本? –
另外,你有什麼理由避免使用線程? –
我承認我的描述很混亂,因爲我在談論輸入的多路複用,輸入來自不同的來源。我避免使用線程的原因:性能。我想避免10個獨立的線程爲10個獨立的低比特率輸入,我認爲這種情況下大多數CPU時間將浪費線程之間的切換... – user270398