Chapter 10. Threading
Handling Uncaught Exceptions in Threads
Using Thread-Safe Collections
Using Blocking Queues
Specifying Timeouts for Blocking
Separating Thread Logic from Execution Logic
Using Executor as a Service
Using Callable Objects
Executing Tasks Without an ExecutorService
Scheduling Tasks
Advanced Synchronizing
Using Atomic Types
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.