Java Tomcat7MaxThreads问题

Java Tomcat7MaxThreads问题,java,spring,tomcat,tomcat7,Java,Spring,Tomcat,Tomcat7,我已经将maxThreads设置为32,但是在我的日志中,我看到的要比实际数量多得多 <Connector port="8080" protocol="HTTP/1.1" maxThreads="32" connectionTimeout="20000" redirectPort="8443" compression="on" compre

我已经将maxThreads设置为32,但是在我的日志中,我看到的要比实际数量多得多

<Connector port="8080"
                   protocol="HTTP/1.1"
                   maxThreads="32" connectionTimeout="20000" redirectPort="8443"
                   compression="on"
                   compressionMinSize="512"
                   compressableMimeType="application/json"
        /> 

日志:

2018年10月24日13:27:15378[信息,XXX,http-apr-8080-exec-172]


这是否意味着这是172线程?我认为线程池将被限制为32个,因为我已经给出了maxThreads。我也没有定义任何自定义执行器,基本上,正如在回答中所解释的,Java中线程的ID不能保证从零开始,或者在创建时是连续的

在代码中,您可以看到他们的ID是以某种方式递增的顺序设置的


再次,我建议您在Java应用程序中运行一些分析工具,以查看在给定时间在池中创建的线程的实际数量。

这是线程ID,但并不意味着所有172个ID都用于活动线程。我建议您运行一些评测,这样您就可以确定池中有多少线程处于活动状态。我希望池最好有25个线程,每个线程都可以重用。在这种情况下,id不会跨越25。你确定线程池就是这样工作的吗?我不确定,因此我问。那么,你不应该肯定id“不会跨越”25。请检查答案。如果不使用线程,则池将缩小到minSpareThreads=“10”(默认值)。如果需要更多控制,请配置单独的Executor元素。