2014-02-18 248 views
0

我最近開始使用基於Java的Web應用程序。 任何人都可以幫助我理解多線程Web應用程序和多線程Web服務器之間的區別嗎?多線程Web應用程序與多線程Web服務器

要求您提供一些場景,其中上述2個實體有幫助

此外,我有一個Web應用程序,預計將使用ThreadPool來處理傳入的請求。處理完每個請求後,它會返回一個適當的http響應,這個響應會被另一個應用程序使用在這種情況下,應該是多線程還是服務器?在Web應用程序中使用多線程,我面臨由於網絡/處理延遲而導致響應混合。

感謝

+0

您能否詳細說明「預計使用哪個」?誰指定了這個需求,爲什麼? – flup

回答

2

如果你想異步處理傳入的請求,該請求到達服務器線程,然後被轉移到您的線程池的應用程序線程。當結果變得可用時,需要找到相應的請求並將答案發送回該客戶端。

查看使用nio的服務器設置。例如參見https://today.java.net/pub/a/today/2007/02/13/architecture-of-highly-scalable-nio-server.htmlhttps://hc.apache.org/httpcomponents-core-ga/tutorial/html/nio.html

這樣,傳入的請求將不會使服務器線程繁忙,直到答案變爲可用。