VisualVM第二章-Threads
cnblogs 2024-08-18 08:09:02 阅读 69
Threads Tab页介绍
线程 Tab 页分三个部分:线程数量统计、线程取样、线程状态
线程数量统计
左上角统计了当前存线程数以及守护线程数。
Thread Dump
线程取样,点击 Thread Dump 可以对当前程序运行的线程进行取样分析。
取样文件默认存储在临时目录:
你还可以对当前 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锁阻塞触发的阻塞状态,若长时间出现此状态则需要注意死锁问题。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。