Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在tomcat 7线程转储中可以看到多个定时线程_Java_Multithreading_Tomcat - Fatal编程技术网

Java 在tomcat 7线程转储中可以看到多个定时线程

Java 在tomcat 7线程转储中可以看到多个定时线程,java,multithreading,tomcat,Java,Multithreading,Tomcat,我们一直在tomcat 7中监视线程,最近我们开始看到线程数有时会变成正常值的两倍,即大约200个线程(而不是通常的大约80个线程) 在进行线程转储时,我看到在线程数量增加的过程中,由于存在大量(大约100个)线程而增加,如下所示(全部等待588cc7d5): “http-bio-8080-exec-201”-线程t@2856 java.lang.Thread.State:定时等待 在sun.misc.Unsafe.park(本机方法) -停车等待(java.util.concurrent.lo

我们一直在tomcat 7中监视线程,最近我们开始看到线程数有时会变成正常值的两倍,即大约200个线程(而不是通常的大约80个线程)

在进行线程转储时,我看到在线程数量增加的过程中,由于存在大量(大约100个)线程而增加,如下所示(全部等待588cc7d5):

“http-bio-8080-exec-201”-线程t@2856
java.lang.Thread.State:定时等待
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.parknos(未知源)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(未知源)
位于java.util.concurrent.LinkedBlockingQueue.poll(未知源)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
位于java.util.concurrent.ThreadPoolExecutor.getTask(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
锁定可拥有的同步器:
-没有

有人知道是什么导致了这种行为吗?

可能您已经达到了8080连接器线程池大小的限制,所有传入的请求都堆积在队列中,等待释放的线程。 maxThreads的默认值为200,但此值可以在配置中更改。 有关详细信息,请参阅。 完整的线程转储对于详细信息更有用

"http-bio-8080-exec-201" - Thread t@2856
   java.lang.Thread.State: TIMED_WAITING
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <588cc7d5> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
    at java.util.concurrent.LinkedBlockingQueue.poll(Unknown Source)
    at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
    at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
    at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None