ใครจะกรุณาอธิบายให้ฉันความแตกต่างระหว่างSleeping, Wait, ParkและMonitorรัฐตั้งกระทู้ใน VisualVM

นี่คือสิ่งที่ฉันพบ:
Running: thread ยังคงทำงานอยู่
Sleeping: thread is sleeping (method yield () ถูกเรียกบนอ็อบเจ็กต์เธรด)
Wait: เธรดถูกบล็อกโดย mutex หรือสิ่งกีดขวางและกำลังรอให้เธรดอื่นคลายการล็อก
Parkเธรดที่จอดอยู่จะถูกระงับจนกว่าจะได้รับอนุญาต โดยปกติแล้วการยกเลิกการจอดเธรดทำได้โดยการเรียกเมธอด uncark () บนอ็อบเจ็กต์เธรด
Monitor: เธรดกำลังรอเงื่อนไขที่จะเป็นจริงเพื่อดำเนินการต่อ
สิ่งที่ฉันไม่เข้าใจคือสวนสาธารณะสิ่งที่ระงับเธรดจริงหรือ? ฉันจะตรวจจับโค้ดที่ทำให้เธรดระงับการทำงานได้อย่างไร
ใครช่วยแนะนำฉันในเรื่องนี้
ขอบคุณ.
