Java Concurrency LiveLessons, Second Edition teaches you how to develop high-quality concurrent software applications and reusable frameworks through the use of patterns, object-oriented design and functional programming techniques, and Java language features, including Java 8 lambda expressions, parallel streams, and completable futures.
It's deja vu all over again. In the old days (35 plus years ago), developers wanting to write half-decent programs had to know their hardware. Those days are back. Clock frequencies have peaked and hardware can no longer be abstracted behind high-level languages.