Per favore qualcuno può spiegare la differenza tra Sleeping, Wait, Park, e Monitorgli stati di thread in VisualVM.

Questo è quello che ho trovato:
Running: il thread è ancora in esecuzione.
Sleeping: il thread sta dormendo (il metodo yield () è stato chiamato sull'oggetto thread)
Wait: il thread è stato bloccato da un mutex o da una barriera, ed è in attesa che un altro thread rilasci il blocco
Park: i thread parcheggiati vengono sospesi fino a quando non viene loro dato un permesso. L'annullamento del parcheggio di un thread viene solitamente eseguito chiamando il metodo unpark () sull'oggetto thread
Monitor: i thread sono in attesa che una condizione diventi vera per riprendere l'esecuzione
Quello che non riesco a capire è il parco statale, cosa sospende effettivamente il filo? Come rilevo nel codice cosa ha fatto sospendere l'esecuzione al thread?
Qualcuno può guidarmi in questo senso.
Grazie.
