Last Updated: June 6, 2026
A Thread is more than a constructor and a run method. The day-to-day work happens through a handful of methods on the Thread class that let you start work, pause it, wait for it, signal it to stop, and check what it's doing. This lesson covers the methods you'll actually call: start and why you never call run directly, Thread.sleep for timed pauses, join for waiting on another thread, Thread.yield and what it does (and doesn't) guarantee, the interruption trio (interrupt, isInterrupted, interrupted), the common pitfall of swallowing InterruptedException, isAlive for liveness checks, setDaemon for background threads, and Thread.currentThread() for asking "which thread am I in?".
A running e-commerce example: a background worker that polls an order queue, sleeps between checks, and shuts down cleanly when the main thread signals it.