Taming Java Threads - Holub, Allen I. (Apress, 2013)
The first couple chapters look at threading-related problems that are created by the underlying operating environments, and then at threading problems—such as deadlock—that are inherent to all multithreaded systems.