Java 如何控制Spring应用程序中的线程数?

Java 如何控制Spring应用程序中的线程数?,java,multithreading,spring,concurrency,Java,Multithreading,Spring,Concurrency,例如,控制Spring在一个web应用程序中使用多少线程是重要的,甚至是可能的吗 假设我有一个基于Spring的REST服务器。我应该,还是可以控制Spring用于服务请求的线程数?如果我将我的应用程序部署在一台8核与4核的机器上,我是否必须配置Spring来解释内核之间的差异?请求线程的数量由web容器控制,而不是由Spring控制。例如,如果您在Tomcat上运行,本问答将解释如何配置线程池大小: 我应该,还是可以控制用于服务请求的线程数 这是可能的,但你通常不应该。让容器来处理这个。。。除

例如,控制Spring在一个web应用程序中使用多少线程是重要的,甚至是可能的吗


假设我有一个基于Spring的REST服务器。我应该,还是可以控制Spring用于服务请求的线程数?如果我将我的应用程序部署在一台8核与4核的机器上,我是否必须配置Spring来解释内核之间的差异?

请求线程的数量由web容器控制,而不是由Spring控制。例如,如果您在Tomcat上运行,本问答将解释如何配置线程池大小:

我应该,还是可以控制用于服务请求的线程数


这是可能的,但你通常不应该。让容器来处理这个。。。除非你有充分的(基于证据的!)理由认为容器的选择很差。容器默认值/策略应考虑可用内核的数量。

您使用的是哪台web服务器?线程的数量(不包括显式或隐式创建以处理异步或计划的Spring方法的执行器)取决于部署应用程序的web服务器(即Tomcat、Jetty等)。“春天无法控制这一切。”阿尔马沙伊克通常说Jetty@JBNizet啊,我没想到。谢谢在这种情况下,我想我必须配置Jetty、Tomcat或我正在使用的任何Web服务器来充分利用我托管应用程序的服务器?为什么?只要让JVM完成它的工作,操作系统也一样。您很少会有与CPU数量相同的活动客户端,为它们提供服务的代码将主要是网络绑定的,而不是CPU绑定的。不要担心不存在的问题。谢谢Stephen,你知道一篇展示容器如何处理内核和线程数量的好文章吗?只是想了解它是如何工作的,这样我就可以获得更深层次的知识。