0

我们将 Spring Boot 用于我们的宁静服务。今天出于其他原因,我访问了 Spring Boot Admin Threads 页面并发现了以下统计信息:

Blocked count   307
Blocked time    -1
Waited count    398265
Waited time -1
Lock name   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@7e0ca0e
Lock owner id   -1
Lock owner name 
sun.misc.Unsafe.park(Unsafe.java:-2) native
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
java.lang.Thread.run(Thread.java:-1) 

阻塞计数表示当前有 307 个阻塞线程,还是表示已阻塞的线程总数和等待计数是必须在块上等待的线程总数?

我无法找到线程显示上显示的值的体面解释,如果有人能解释这些数字,我将不胜感激。

4

1 回答 1

2

java.lang.management.ThreadInfo 中的 javadoc 提供了帮助:

返回与此 ThreadInfo 关联的线程阻止进入或重新进入监视器的总次数。即线程处于java.lang.Thread.State#BLOCKED 状态的次数。

于 2017-06-30T15:55:35.660 回答