• Use Collections from the java.util .concurrent Package with a Focus on the Advantages over and Differences from the Traditional java.util Collections
• Use Lock, ReadWriteLock, and ReentrantLock Classes in the java.util .cuncurrent.locks Package to Support Lock-Free Thread-Safe Programming on Single Variables
• Use Executor, ExecutorService, Executors, Callable, and Future to Execute Tasks Using Thread Pools
• Use the Parallel Fork/Join Framework
Q&A Self Test
Concurrency with the java.util.concurrent Package
As you learned in the previous chapter ...