0
我正在進行大量計算的處理密集型系統。系統有兩個主要組件,第一個處理輸入/輸出,第二個處理數據並計算結果。但問題在於它無法處理50個項目,而它一次處理的項目超過1000個。這兩個組件都有多個運行不同任務的線程。 我在Linux平臺上並使用C++。據我瞭解,在Linux系統中,線程和進程幾乎與共享虛擬內存空間相似。 所以我的問題是,將I/O與處理單元分離並將它們放在單獨的可執行文件或進程中,然後使用共享內存或消息隊列或任何其他IPC技術是一個好主意嗎?優化吞吐量:多線程與多進程
使用探查器來測量應用程序的性能並找出導致它變慢的原因是個好主意。在這種情況下投擲一些狂野的猜測是毫無意義的。 – VTT
如果沒有更多的信息(更多的信息)就不可能猜出問題是什麼,但是進程間通信通常是昂貴的,在線程間並不是必須的。 – Surt