Java Servlet 大量请求和线程

标签 java multithreading servlets

在我的一次采访中,有人问我 servlet 是如何工作的,我告诉他们每个请求,servlet 容器创建一个线程,他再次询问我们是否采用像 facebook 这样的流行网站,它会收到大量请求,如果我们为每个请求分配一个线程,那么这不是一个好方法,它们如何处理这么多请求。我想到了线程池,但我不知道这是否是方法。有人请解释一下这么多请求是如何产生的在 servlet 容器中处理。

最佳答案

这里有两种相辅相成的方法:

  1. 是的,将线程数量限制为固定数量并将它们预先创建到池中 - 从而避免每次重新创建线程的昂贵过程。我认为 Apache 的 HTTP 服务器就是这样工作的。

  2. 您总是可以投入更多机器来解决问题。大型网站总是使用网络服务器集群,从而平衡负载。

关于Java Servlet 大量请求和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793516/

相关文章:

java - 如何在 servlet 过滤器中重定向?

java - 在 grails 的引导带中应用程序启动时加载资源包

java - 将 C++ 原始类型 vector 转换为 Java 原始类型数组

c++ - 并发 std::vector 写入的效率

Java多线程鼠标点击

java - 在主机(Tomcat 服务器)上运行第一个 jsp 应用程序时出现问题?

html - 为什么我需要在这个 Java Servlet 中将内容类型设置为 html?

java - 使用 vector jswing 获取正确的表格标题

java - REST @FormParam 值为空

c# - .NET中如何判断一个Thread对象是否为当前线程?