【问题标题】:Multithreaded Web Application vs Multithreaded Web Server多线程 Web 应用程序与多线程 Web 服务器
【发布时间】:2014-02-18 09:45:42
【问题描述】:

我最近开始使用基于 Java 的 Web 应用程序。 谁能帮我理解多线程 Web 应用程序和多线程 Web 服务器之间的区别?

请您提供一些上述两个实体有帮助的场景

另外,我有一个 Web 应用程序,它预计将使用 ThreadPool 来处理传入的请求。在处理每个请求后,它会返回一个正确的 http 响应,该响应由另一个应用程序使用。在这种情况下,应用程序应该是多线程的还是服务器的?在 Web 应用程序中使用多线程时,我遇到了由于网络/处理延迟而导致响应变得混杂的问题。

谢谢

【问题讨论】:

  • 您能否详细说明“预计使用哪个”?谁指定了这个需求,为什么?

标签: java multithreading


【解决方案1】:

如果您想异步处理传入的请求,请求会到达服务器线程,然后从您的线程池传输到应用程序线程。当结果可用时,需要找到相应的请求并将答案发送回该客户端。

查看使用 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

这样,传入的请求不会让服务器线程保持忙碌,直到答案可用。

【讨论】:

    猜你喜欢
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多