Home Page
                >
                Essential Classes
                >
                Concurrency
            
            
            High Level Concurrency Objects
            
So far, this lesson has focused on the low-level APIs that have been
part of the Java platform from the very beginning. These APIs are
adequate for very basic tasks, but higher-level building blocks are
needed for more advanced tasks. This is especially true for massively
concurrent applications that fully exploit today's
multiprocessor and multi-core systems.
In this section we'll look at some of the high-level concurrency
features introduced with version 5.0 of the Java platform. Most of
these features are implemented in the new
java.util.concurrent packages. There are also new
concurrent data structures in the Java Collections Framework.
    - Lock objects support locking
    idioms that simplify many concurrent applications.
- Executors define a high-level API
    for launching and managing threads. Executor implementations
    provided by java.util.concurrentprovide thread pool
    management suitable for large-scale applications.
- Concurrent collections make it
    easier to manage large collections of data, and can greatly reduce
    the need for synchronization.
- Atomic variables have features
    that minimize synchronization and help avoid memory consistency
    errors.
- ThreadLocalRandom(in
    JDK 7) provides
    efficient generation of pseudorandom numbers from multiple threads.