在我的一次采访中,有人问我 servlet 是如何工作的,我告诉他们每个请求,servlet 容器创建一个线程,他再次询问我们是否采用像 facebook 这样的流行网站,它会收到大量请求,如果我们为每个请求分配一个线程,那么这不是一个好方法,它们如何处理这么多请求。我想到了线程池,但我不知道这是否是方法。有人请解释一下这么多请求是如何产生的在 servlet 容器中处理。
最佳答案
这里有两种相辅相成的方法:
是的,将线程数量限制为固定数量并将它们预先创建到池中 - 从而避免每次重新创建线程的昂贵过程。我认为 Apache 的 HTTP 服务器就是这样工作的。
- 您总是可以投入更多机器来解决问题。大型网站总是使用网络服务器集群,从而平衡负载。
关于Java Servlet 大量请求和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793516/