Reading material

Doing Two or More Tasks At Once: Threads1

1Chapter 16 of

Additional material

Buffer.java
Relay.java
volatile Fields
Threads and Locks
java.lang.Object
java.lang.ThreadGroup