Tomcat线程!= JVM线程?

时间:2011-03-09 04:39:20

标签: java tomcat jvm threadpool

Tomcat Manager报告的线程数与ThreadMXBean不同。 ThreadMXBean报告的线程数与YourKit探查器中报告的线程数相同。 Tomcat线程和JVM线程之间有区别吗?

来自Tomcat Manager的专线:
最大线程数:200当前线程数:7当前线程忙:3

ManagementFactory.getThreadMXBean()信息getThreadCount():
38

2 个答案:

答案 0 :(得分:6)

Tomcat线程是请求处理线程,并且不计算应用程序可能已启动的其他线程。

为了更好地了解其他主题是什么,请查看Thread.getAllStackTraces()

答案 1 :(得分:2)

根据javadocs,ManagementFactory.getThreadMXBean().getThreadCount()

  

返回当前线程的数量,包括守护进程和   非守护程序线程。

因此,JVM很可能有38个不同的线程(大多数在后台)。 Tomcat为每个请求创建一个新线程(以便它可以进行并发通信)。这两个数字可能会有所不同。