对于有经验的人来说,这可能是一个非常基本和简单的问题,但我对此有点困惑:
如果有多个连接到托管在 tomcat 上的网站,是否会有多个线程或进程或者访问底层 java、jsp 代码的基本机制是什么?
对于有经验的人来说,这可能是一个非常基本和简单的问题,但我对此有点困惑:
如果有多个连接到托管在 tomcat 上的网站,是否会有多个线程或进程或者访问底层 java、jsp 代码的基本机制是什么?
Tomcat 使用线程。java.net 上有一篇文章介绍了最重要的配置值:
maxThreads:Tomcat 使用线程池,每个请求将由线程池中的任何空闲线程提供服务。maxThreads 决定 Tomcat 可以为服务请求创建的最大线程数。
minSpareThreads:当 Tomcat 最初启动时,它可能不会创建 maxThreads 配置的线程数。相反,它将创建 minSpareThreads,然后根据需要创建更多线程,直到线程数达到最大值 maxThreads。
maxSpareThreads:在卸载期间,Tomcat 不需要池中的许多线程。maxSpareThreads 是 Tomcat 将保留在池中的最大空闲线程数。如果超过此数量,则会取消引用多余的线程以允许垃圾收集。
我建议查看这篇文章。
servlet 容器 (Tomcat) 维护一个线程池,用于为请求提供服务。Tomcat 从不分叉新进程。