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 线程转储:停车等待的含义是什么?_Java_Multithreading - Fatal编程技术网

Java 线程转储:停车等待的含义是什么?

Java 线程转储:停车等待的含义是什么?,java,multithreading,Java,Multithreading,在我的应用程序线程转储中,大多数线程都在等待某个十六进制字符串0x00000000ab0eaae8 示例 停车等待(一个java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 我怎么知道我的线程在等待什么 下面给出了完整的线程堆栈跟踪 "qtp685934-2328" #2328 prio=5 os_prio=0 tid=0x00000000023b6000 nid=0x2f1f waiti

在我的应用程序线程转储中,大多数线程都在等待某个十六进制字符串0x00000000ab0eaae8

示例 停车等待(一个java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

我怎么知道我的线程在等待什么

下面给出了完整的线程堆栈跟踪

"qtp685934-2328" #2328 prio=5 os_prio=0 tid=0x00000000023b6000 nid=0x2f1f waiting on condition [0x00007f6df703f000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ab0eaae8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:380)
    at org.apache.http.pool.AbstractConnPool.access$200(AbstractConnPool.java:69)
    at org.apache.http.pool.AbstractConnPool$2.get(AbstractConnPool.java:246)
    - locked <0x00000000e728c1e8> (a org.apache.http.pool.AbstractConnPool$2)
    at org.apache.http.pool.AbstractConnPool$2.get(AbstractConnPool.java:193)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:303)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:279)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:191)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    at org.springframework.http.client.HttpComponentsClientHttpRequest.executeInternal(HttpComponentsClientHttpRequest.java:87)
    at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
    at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:723)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:680)
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:600)
“qtp685934-2328”#2328优先级=5 os#u优先级=0 tid=0x00000000023b6000 nid=0x2f1f等待条件[0x00007f6df703f000]
java.lang.Thread.State:等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
位于org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:380)
在org.apache.http.pool.AbstractConnPool.access$200(AbstractConnPool.java:69)
位于org.apache.http.pool.AbstractConnPool$2.get(AbstractConnPool.java:246)
-锁定(org.apache.http.pool.AbstractConnPool$2)
位于org.apache.http.pool.AbstractConnPool$2.get(AbstractConnPool.java:193)
位于org.apache.http.impl.conn.poolghttpclientconnectionmanager.leaseConnection(poolghttpclientconnectionmanager.java:303)
在org.apache.http.impl.conn.poolghttpclientconnectionmanager$1.get(poolghttpclientconnectionmanager.java:279)
位于org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:191)
位于org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
位于org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
位于org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
位于org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
在org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
在org.apache.http.impl.client.CloseableHttpClient.execute上(CloseableHttpClient.java:56)
位于org.springframework.http.client.HttpComponentsClientHttpRequest.executeInternal(HttpComponentsClientHttpRequest.java:87)
位于org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
位于org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
位于org.springframework.web.client.restemplate.doExecute(restemplate.java:723)
位于org.springframework.web.client.restemplate.execute(restemplate.java:680)
位于org.springframework.web.client.restemplate.exchange(restemplate.java:600)

这是PoolighttpClientConnectionManager中的功能。这些线程在线程池中等待作业。谢谢,等待条件是什么意思?这意味着当一个新请求进入spring服务器时,它会将此连接传递到线程池,这将使它成为一个正在等待的线程,或者如果所有线程都很忙,则会将它置于队列中,以供下一个可用的空闲线程使用。这些线程在线程池中等待作业。谢谢,等待条件是什么意思?这意味着当一个新请求进入spring服务器时,它会将此连接传递到线程池,这将使它成为一个等待的线程,或者如果所有线程都很忙,则会将它置于队列中,以供下一个可用的空闲线程使用。