Per favore qualcuno può spiegare la differenza tra Sleeping
, Wait
, Park
, e Monitor
gli 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.