首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat NIO线程池

Tomcat NIO线程池
EN

Stack Overflow用户
提问于 2016-11-21 22:14:36
回答 2查看 11K关注 0票数 16

我理解Java NIO (通道,选择器,..)。我想更好地理解Tomcat NIO,这样我就可以从Spring引导中适当地配置Tomcat的线程池。

有人能解释一下每个线程池的用途是什么吗?这些线程池是如何与Java NIO相关的?如果您还可以指出在处理HTTP请求期间使用哪个线程池,这将是很有帮助的。

在线程转储期间观察到的一些Tomcat8线程池:

代码语言:javascript
复制
http-nio-<port>-Acceptor (usually 1 or 2 threads)
http-nio-<port>-ClientPoller-<index> (usually 2)
http-nio-<port>-exec-<index> (usually 10)
NioBlockingSelector.BlockPoller-<index> (usually 2)
EN

回答 2

Stack Overflow用户

发布于 2017-03-03 00:47:17

这可以通过在application.properties中设置“server.tomcat.max- => =10”来控制。如果它设置为1,那么您只会看到一个线程http-nio--exec-1。

我也在尝试寻找其他线程池。

票数 5
EN

Stack Overflow用户

发布于 2020-06-11 23:09:19

Spring和Tomcat的正确解决方案是使用两个属性:

代码语言:javascript
复制
server.tomcat.max-threads=200 # Maximum amount of worker threads.
server.tomcat.min-spare-threads=10 # Minimum amount of worker threads

如果您更改server.tomcat.min-spare-threads下面的线程,那么您将拥有与max- server.tomcat.max-thread属性一样多的线程。

如果您更改了server.tomcat.min-spare-threads,那么您将拥有指定的任意数量的线程。

例如,如果您设置为:server.tomcat.min-spare-threads=15,那么您将拥有15个http-nio-8080-exec-*

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40722254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档