Callables, Futures, Executors, and Fork/Join
he last two chapters covered various aspects of thread programming. Thread programming is a vast subject. So far we have discussed how to create threads, the various thread-synchronization issues, how deadlocks occur, and the different mechanisms introduced in J2SE 5.0 to deal with thread synchronization. The Concurrency framework defines several more classes that reflect the additional aspects of thread programming we have not covered so far. The last chapter covered the different types of ...