有人可以解释我的区别Sleeping,Wait,Park,和Monitor在VisualVM的线程状态。

这是我发现的:
Running:线程仍在运行。
Sleeping:线程正在睡眠(在线程对象上调用了method yield()方法)
Wait:线程被互斥锁或屏障阻止,并且正在等待另一个线程释放锁
Park:停放的线程被挂起,直到获得许可。通常通过在线程对象上调用方法unpark()来取消线程
Monitor:线程正在等待条件变为真以恢复执行
我无法理解的是国家公园,实际上是什么暂停线程?如何在代码中检测导致线程挂起执行的原因?
有人可以在这方面指导我。
谢谢。
