VisualVM - 线程状态
- 论坛
- VisualVM - 线程状态
23 浏览
VisualVM - 线程状态
有人能否解释一下在VisualVM中的Sleeping
、Wait
、Park
和Monitor
线程状态之间的区别。
这是我找到的内容:
Running
:线程仍在运行。
Sleeping
:线程正在睡眠(在线程对象上调用了yield()方法)
Wait
:线程被互斥体或屏障阻塞,并正在等待另一个线程释放锁。
Park
:停放的线程被挂起,直到它们被授予许可。通常通过在线程对象上调用unpark()方法来解除线程的挂起状态。
Monitor
:线程正在等待条件成为真以恢复执行。
我无法理解的是Park状态,是什么导致了线程的挂起?在代码中如何检测线程挂起的原因?
有人能否在这方面给我指导一下。
谢谢。