Vorrei verificare se il mio ragionamento è corretto.thread state java
Prima di tutto, dovrei fornire alcuni dettagli sul problema che sto cercando di risolvere. Un filo (parte di un programma) fa le seguenti cose:
- Si inizia
- chiama Thread.sleep (20ms)
- chiama GETIN il metodo()
- si cerca di ottenere un blocco (lock.lock())
- se ottiene con successo il blocco che chiama Thread.sleep (100 ms)
- se il blocco non è disponibile si chiama waitingCond.await()
- dopo aver chiamato Thread.Sleep (100 ms) esso chiede lock.unlock()
- si chiama un metodo getout()
- essa termina (Thread.join())
Dato che, il seguente è il mio indovinare sullo stato del filo:
READY TO RUN
statoTIMED WAITING
statoWAITING
statoWAITING
statoBLOCKED
statoWAITING
statoWAITING
statoTERMINATED
statali
Grazie
C'è un momento in cui è effettivamente in esecuzione? :) –
@LukasKnuth Hai interrotto la numerazione dell'OP in cui 5.1 era un passaggio subordinato facoltativo. Pensi che sia meglio così? –
Questo è piuttosto noioso per il thread ... E: non ci hai fatto una domanda. – brimborium