Theory: start here
Code
Threads
Diagram
Shared state
Console / events
NEWcreated, not started
READYRUNNABLE, waiting for a CPU
RUNNINGRUNNABLE, on a CPU now
BLOCKEDwants a monitor lock
WAITINGwait / join / park
TIMED_WAITINGsleep / wait(ms)
TERMINATEDrun() ended