Written by Brian Goetz and Tim Peierls with assistance from members of JCP JSR-166 Expert Group and released to the public domain, as explained by the Creative Commons public domain license.

Note that this license is no longer recommended by Creative Commons for any use, and has never been recommended for use with software. Nevertheless, this is the license that we picked in 2006.

Introduction

Thread Safety

Sharing Objects

Composing Objects

Building Blocks

Task Execution

Cancellation and Shutdown

Applying Thread Pools

GUI Applications

Performance and Scalability

Testing Concurrent Programs

Explicit Locks

Building Custom Synchronizers

Atomic Variables and Nonblocking Synchronization

The Java Memory Model