Java Concurrency in Practice
java concurrency in practice