VisualVM第二章-Threads
Threads Tab页介绍
线程 Tab 页分三个部分:线程数量统计、线程取样、线程状态
线程数量统计
左上角统计了当前存线程数以及守护线程数。
取样文件默认存储在临时目录:
你还可以对当前 dump 文件另存为,保存到其他目录,以待后面分析。
在 VisualVM 中线程有五种状态,分别是:
-
Running 运行,对应 Java 中的 Runnable 状态,即执行状态。
-
Sleeping 休眠,对应 Java 中的 TimedWaiting 状态,且通过Thread.sleep(timeout)触发,即sleep触发的等待状态。
-
Wait 等待,对应Java中线程 TimedWaiting、Waiting 状态,且通过wait(), wait(timeout), join(), join(timeout)触发,即wait触发的等待状态。
-
Park 常驻,对应Java中线程 TimedWaiting、Waiting 状态,且通过LockSupport.park(), LockSupoort.parkNanos(), LockSupport.parkUntil()触发,即LockSupport.park触发的等待状态。
-
Monitor 监视,对应Java中 Blocked 状态,即由synchronized、Lock锁阻塞触发的阻塞状态,若长时间出现此状态则需要注意死锁
本文来自博客园,作者:SnailsH,转载请注明原文链接:https://www.cnblogs.com/SnailsWalk/p/18365093