2015-11-17 49 views
2

我正在使用jconsole(以及TDA.jar插件)执行远程tomcat 6服务器的线程转储。 我看到很多处于等待状态的TP-Processorxx(90个线程)。找到下面的线程转储处于等待状态的TP-Processorxx

"TP-Processor86" nid=197 state=WAITING 
    - waiting on <0x20afbfdd> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable) 
    - locked <0x20afbfdd> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable) 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:485) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662) 
    at java.lang.Thread.run(Thread.java:619) 

我想知道 - 什么是这些TP处理器线程和他们实际上做了什么? 由于这些等待线程,是否对性能有任何影响? 这些等待线程是由于某些错误的应用程序代码造成的吗?

回答

0

如果您了解真正感兴趣/调试线程转储,您可能需要阅读下面的文章:

https://dzone.com/articles/how-analyze-java-thread-dumps

要回答你的问题,处于等待状态的线程(与提供的堆栈跟踪你)通常是无害的。他们只是在等待任务进入队列。

相关问题