The Java platform traditionally provides basic, low-level primitives
for writing concurrent programs, but they are difficult to use properly.
Many programs become clearer, shorter, faster, easier to write, and more
reliable if higher-level synchronization constructs are used.
A comprehensive library of concurrency utilities has been developed
for inclusion in the 5.0 release of the JDK. This library, known as the
package, contains thread pools, queues, concurrent collections, special-purpose
locks, barriers, and related utilities. The addition to the Java platform
is substantial and has changed the way we implement concurrent Java applications.
This tutorial gives an overview of the Java 5.0 concurrency utilities.