誰かが私との違いを説明してくださいすることができSleeping、Wait、Park、およびMonitorVisualVMの中スレッドの状態を。

これは私が見つけたものです:
Running:スレッドはまだ実行中です。
Sleeping:スレッドはスリープ状態です(スレッドオブジェクトでメソッドyield()が呼び出されました)
Wait:スレッドはミューテックスまたはバリアによってブロックされ、別のスレッドがロックを解放するのを待機しています
Park:パークされたスレッドは許可が与えられるまで中断されます。スレッドのパーク解除は通常、スレッドオブジェクトでメソッドunpark()を呼び出すことによって行われます
Monitor。スレッドは、実行を再開するための条件がtrueになるのを待機しています。
私が理解できないのは州立公園ですが、実際にスレッドを中断しているのは何ですか?スレッドが実行を一時停止した原因をコードで検出するにはどうすればよいですか?
誰かがこの点で私を導いてくれませんか。
ありがとう。
