【发布时间】:2015-02-08 22:53:48
【问题描述】:
谁能解释一下 VisualVM 中 Sleeping、Wait、Park 和 Monitor 线程状态之间的区别。
这是我发现的:
Running:线程仍在运行。 Sleeping: 线程正在休眠(在线程对象上调用了方法 yield())Wait: 线程被互斥锁或屏障阻塞,正在等待另一个线程释放锁Park: 停放的线程被挂起,直到获得许可。取消停放线程通常通过调用线程对象上的方法 unpark() 来完成Monitor: 线程正在等待条件变为真以恢复执行
我无法理解的是国家公园,实际上是什么暂停了线程?如何在代码中检测是什么导致线程暂停执行?
有人可以在这方面指导我吗?
谢谢。
【问题讨论】:
标签: java jvm visualvm jvisualvm