Module 14: Concurrency and Multithreading
Thread Lifecycle & Runnable vs Callable
Create threads responsibly and understand their states.
Threads transition through NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED.
Runnable tasks return no result; Callable returns a value and can throw checked exceptions.
Prefer ExecutorService for pooling threads over manually creating Thread instances.