我们正在使用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个被阻止的线程,或者是否已被阻止的线程总数和等待计数是否必须在块上等待的线程总数?
我无法找到线程显示屏上显示的值的正确解释,如果有人能解释这些数字,我会很感激。
答案 0 :(得分:2)
来自java.lang.management.ThreadInfo的javadoc有助于:
返回与此关联的线程的总次数 ThreadInfo被阻止进入或重新进入监视器。即该 线程进入的次数 java.lang.Thread.State #BLOCKED state。