Concurrent Programming In Java by Douglas Lea & Harvey M. Deitel