2014-04-01 74 views
-1

我有一個由許多servlet組成的SOA應用程序。當客戶端提交請求時,我的應用程序連接到4個外部應用程序,在它們之間交換數據並提供結果。確定SOA應用程序中的線程數(使用Servlet)

現在,由於這4個連接,請求的響應被大大延遲。因此,我們計劃將這4個調用分離爲多個線程,以便主線程可以快速回復「我們正在處理您的數據」。

問題是,我應該爲這些任務啓動多少個線程?我可以在4個不同的線程中完成單個線程中的所有任務。什麼是最佳解決方案?

另外,最影響CPU的是什麼?線程數量或特定線程執行持續時間的長度? 我的應用程序每秒收到5到7個請求。那麼,什麼會更好? 1個獨立(並且運行時間更長)的線程或者每個請求4個獨立(但運行時間更短)的線程?

在此先感謝。

回答

0

您應該啓動的線程數取決於您擁有的獨立任務的數量。您擁有的任務/模塊/功能越多(無論您調用什麼),您可以爲每個任務/模塊啓動的線程越多。基於需要同時完成的獨立工作,您需要知道您應該使用多少個線程以及如何有效利用它們

什麼影響CPU最?線程數量或特定線程執行持續時間的長度? 。

這似乎是一個微不足道的問題。兩者都會影響。也許不會。取決於你的應用程序/代碼。但這不應該是一個問題。