Handling Uncaught Exceptions in Threads
Specifying Timeouts for Blocking
Separating Thread Logic from Execution Logic
Executing Tasks Without an ExecutorService
Locking Versus Synchronization
From its earliest days, Java has been a multithreaded environment. While the threading capabilities are formidable in Java 1.4, Tiger introduces a whole new slew of concurrency utilities, allowing for further tweaking of your multithreaded programs.