2014-02-18 204 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

这样,传入的请求将不会使服务器线程繁忙,直到答案变为可用。